Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3754441imm; Mon, 11 Jun 2018 00:54:43 -0700 (PDT) X-Google-Smtp-Source: ADUXVKI8J9BiUv/PDKEZEAvJIbX1pwliGG7tkEnYcfK8TeWpKB/sSOwVFD3mjfVZO/FnYmL5IAnI X-Received: by 2002:a62:d453:: with SMTP id u19-v6mr16400135pfl.203.1528703683151; Mon, 11 Jun 2018 00:54:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528703683; cv=none; d=google.com; s=arc-20160816; b=VU/m8W5hOCvWUS4cQretS3Ioi3fORPTozfkrR6vZbeeHsCbO9m8fGaNH8VgVbW3k6t 8daPl6Fn5AkZkn7trABht8iEYsFCye5xiKbyhhSPOWSd1diXXjjsIgKqODzkFN4iVZVE EOoxZRjRcUsPDP+a9hza9itWaYTNx8d0KgEVWTGt7z7Ad3EVKKQFlc6GNi+oxTCwCURU /sc5uE9szhYvzW6CxyFZ1rQSJahSsDdO52iVqpgzF8QiUK4th+npjf/1Psr14kKh+K+S MhaPyCy92uTkY7rQZnKq5AF4SGkhosKljdi71jjNPDSVv1g9FCEVsEAezH/K8dQLlFmH 04qA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from :arc-authentication-results; bh=cwqrDvo14tObHtZGon1qIWwyJjuwgBXzXYDr3ju6WSY=; b=KIMS5M0Sj02XqYDP6YdY1SON57kLYDGIS9Y/CoEpBBaZZ7Q5bG0dBktCPFU4P7FXAO d8q8b0ZuC3qcKKtC3l7mjpiiz1+a0snK9xk6kv78G6u3yWXE0CUlIaTylfzTSG3LBglh BVni1phTqxNMfsfzTF9Jhf349a6jf8yxQth9k+aCx95BO7MeOxh3j0f80MV3cOIpcIR8 h6ck2mkGTYUs7oX3zlugxwpelJLRxrscj9QzKTsbEIcFz5Xq6NYUbM7+Rx0t0VLODby/ bj2Vc0hABKKSGpouFg/mBT/udIRZ6FooNTDnDgzTV7zDQ0c3kj4iDL+QQzPSYyvoOo9F xDcw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z23-v6si6324949pfh.266.2018.06.11.00.54.28; Mon, 11 Jun 2018 00:54:43 -0700 (PDT) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754087AbeFKHyD (ORCPT + 99 others); Mon, 11 Jun 2018 03:54:03 -0400 Received: from mx2.suse.de ([195.135.220.15]:40713 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754014AbeFKHyC (ORCPT ); Mon, 11 Jun 2018 03:54:02 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 2EFA3AE79; Mon, 11 Jun 2018 07:54:01 +0000 (UTC) From: Andreas Schwab To: Palmer Dabbelt Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] RISC-V: Handle R_RISCV_32 in modules References: X-Yow: We have DIFFERENT amounts of HAIR -- Date: Mon, 11 Jun 2018 09:54:00 +0200 In-Reply-To: (Palmer Dabbelt's message of "Fri, 08 Jun 2018 15:33:35 -0700 (PDT)") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Jun 08 2018, Palmer Dabbelt wrote: > On Thu, 07 Jun 2018 03:27:27 PDT (-0700), schwab@suse.de wrote: >> With CONFIG_MODVERSIONS=y the R_RISCV_32 relocation is used by the >> __kcrctab section. >> >> Signed-off-by: Andreas Schwab >> --- >> arch/riscv/kernel/module.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/arch/riscv/kernel/module.c b/arch/riscv/kernel/module.c >> index 5dddba301d..1d5e9b934b 100644 >> --- a/arch/riscv/kernel/module.c >> +++ b/arch/riscv/kernel/module.c >> @@ -17,6 +17,17 @@ >> #include >> #include >> >> +static int apply_r_riscv_32_rela(struct module *me, u32 *location, Elf_Addr v) >> +{ >> + if (v != (u32)v) { > > My worry with this kind of check is that it relies on some sort of > undefined behavior in C and that at some point in the future GCC will just > go decide the check can never fail. I checked and GCC doesn't elide these > checks now, so I might be wrong. > > Is this defined to do what it looks like it's doing? This is unsigned arithmetic, thus fully defined. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."