Received: by 10.223.164.202 with SMTP id h10csp327603wrb; Tue, 14 Nov 2017 02:06:35 -0800 (PST) X-Google-Smtp-Source: AGs4zMbHyVv8VWIlsCPLI7UEZtoATl5d2zRBGbethrD+5EpV/C1KrIZ4LsgwakulPucYvlV5SB0A X-Received: by 10.99.127.85 with SMTP id p21mr11736705pgn.425.1510653995371; Tue, 14 Nov 2017 02:06:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510653995; cv=none; d=google.com; s=arc-20160816; b=Ja2CZmkMgW82KMDSO6+A1dGImGYhuy+Jw4QOGcW+BBAg7TOOQpXKuVEtgqNC4FT4ZP 8rNdqRn9EeWKx3TWiZRZjKxnvg6FFQufFkGllOUXYOLMdwN7+e/1mNQ8pKB4H8acp55u fmgnWmkhMUqIo0ugY4sYzpFcWV0z0h3E39epugEgig2v89mfPYqxd+KfbOQ+o7fDv0OQ tLR9l6J4bhds/Xe5mjYKXQyEcj0CBvyQijsQFvAoRkJSS1enUtJ9+Bke+/nk0im4KUj1 Eh8fVJepT+0Mbcmybsi4t2olxPetANjbNfvao3eShaasGiHE0l4iAn4rxC/zR1R7+dDr D7ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:references:in-reply-to:date :subject:cc:to:from:arc-authentication-results; bh=Oijl2e0rT9sp4Vx657iGAGWiRz/851LZtii5YMsXkIs=; b=KgsYHS+jldZrfKzE9HSZv0MERDggoTNet/qYPPQNUl7hRZXkxHwpYnO4G2iS+D6eJ2 FyTziB+xFjiLB5wmNacIIiEg8oBbROF6e09IxhXaavYeDPs8KHhUT8ksLLbYttnZcLbM b+OJEMmODpDniTqXmw9PA9Zvw8ndSVqGbU+x43LMYEAS0lq+SDGK26r30VDgAALtK1ov cIhBhEPCRSjw25eME2IPpJ/A+Y86mFA0B7MFpR3UcknzYMk2wJJhgx4XhNyb0F88/DWd suu52+lDrHSyZQR9yXDa4xKzmQtZW57y7VYy4YLbH1LOXYl3Jah3YIUrn25k1c9AU4rU LOtQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r3si15824090plb.644.2017.11.14.02.06.23; Tue, 14 Nov 2017 02:06:35 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753997AbdKNJ3v (ORCPT + 87 others); Tue, 14 Nov 2017 04:29:51 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:55510 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753865AbdKNJ3h (ORCPT ); Tue, 14 Nov 2017 04:29:37 -0500 Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vAE9TPAD123428 for ; Tue, 14 Nov 2017 04:29:36 -0500 Received: from e06smtp11.uk.ibm.com (e06smtp11.uk.ibm.com [195.75.94.107]) by mx0b-001b2d01.pphosted.com with ESMTP id 2e7ux6nsx6-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 14 Nov 2017 04:29:36 -0500 Received: from localhost by e06smtp11.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 14 Nov 2017 09:29:35 -0000 Received: from b06cxnps4075.portsmouth.uk.ibm.com (9.149.109.197) by e06smtp11.uk.ibm.com (192.168.101.141) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 14 Nov 2017 09:29:31 -0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id vAE9TVwj42598622; Tue, 14 Nov 2017 09:29:31 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D13EBAE051; Tue, 14 Nov 2017 09:22:57 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 09CD7AE045; Tue, 14 Nov 2017 09:22:56 +0000 (GMT) Received: from localhost.localdomain (unknown [9.40.192.198]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 14 Nov 2017 09:22:55 +0000 (GMT) From: Kamalesh Babulal To: Michael Ellerman Cc: Kamalesh Babulal , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, live-patching@vger.kernel.org, Josh Poimboeuf , Balbir Singh , "Naveen N . Rao" , Jessica Yu , Ananth N Mavinakayanahalli , Aravinda Prasad , Torsten Duwe Subject: [PATCH v4 1/3] kernel/modules: Add REL24 relocation support of livepatch symbols Date: Tue, 14 Nov 2017 04:29:08 -0500 X-Mailer: git-send-email 2.9.3 In-Reply-To: <20171114092910.20399-1-kamalesh@linux.vnet.ibm.com> References: <20171114092910.20399-1-kamalesh@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 17111409-0040-0000-0000-0000040E0AF8 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17111409-0041-0000-0000-000020B0BD51 Message-Id: <20171114092910.20399-2-kamalesh@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-11-14_05:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1711140129 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Livepatch re-uses module loader function apply_relocate_add() to write relocations, instead of managing them by arch-dependent klp_write_module_reloc() function. apply_relocate_add() doesn't understand livepatch symbols (marked with SHN_LIVEPATCH symbol section index) and assumes them to be local symbols by default for R_PPC64_REL24 relocation type. It fails with an error, when trying to calculate offset with local_entry_offset(): module_64: kpatch_meminfo: REL24 -1152921504897399800 out of range! Whereas livepatch symbols are essentially SHN_UNDEF, should be called via stub used for global calls. This issue can be fixed by teaching apply_relocate_add() to handle both SHN_UNDEF/SHN_LIVEPATCH symbols via the same stub. This patch extends SHN_UNDEF code to handle livepatch symbols too. Signed-off-by: Kamalesh Babulal CC: Balbir Singh Cc: Naveen N. Rao Cc: Josh Poimboeuf Cc: Jessica Yu Cc: Ananth N Mavinakayanahalli Cc: Aravinda Prasad Cc: Torsten Duwe --- arch/powerpc/kernel/module_64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c index 0b0f896..39b01fd 100644 --- a/arch/powerpc/kernel/module_64.c +++ b/arch/powerpc/kernel/module_64.c @@ -613,7 +613,8 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, case R_PPC_REL24: /* FIXME: Handle weak symbols here --RR */ - if (sym->st_shndx == SHN_UNDEF) { + if (sym->st_shndx == SHN_UNDEF || + sym->st_shndx == SHN_LIVEPATCH) { /* External: go via stub */ value = stub_for_addr(sechdrs, value, me); if (!value) -- 2.9.3 From 1586575718939543348@xxx Tue Dec 12 11:01:54 +0000 2017 X-GM-THRID: 1586575718939543348 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread