Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4524846imm; Mon, 11 Jun 2018 13:58:52 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKzg6CYzs0cKrkRrZAuQBkS3Q6VxQb7WbUylly4P8Io7pYs3PzTkD3tvnxy4fE5frFri95K X-Received: by 2002:a17:902:7688:: with SMTP id m8-v6mr798988pll.54.1528750731987; Mon, 11 Jun 2018 13:58:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528750731; cv=none; d=google.com; s=arc-20160816; b=ii/WubwprAnrSfu/aIBqG94MEYiAM1LCcp6Vj7DkMXKrbVQZf+76FlyvaqsHkozi/2 FTMiA0gIkCMIsomR5HuQfgmVRptNST9baP2l3OgPCSnzayqq0MaXSvTJI+nRZ7Z6E1Az UciI2oinLb5YWawSIxVlvve3/G+APDM1iTqRTRze/mr7vOjpGvUQqMrSBIFcgChmlnLC 8oiS60vksX31bKXoBl6MufUCCkoUKVIGiMf4GXRQ/gtLoFu4zIPClqy4sik9/GmETsr1 ZK3lDI7LvW4eaJT4s/iWhXHhTa8LzIPSodOnDWGHKCHSrlt6IHR8GDKS17wjHVmQ8uiD bgTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:to:from:cc:in-reply-to:subject:date:dkim-signature :arc-authentication-results; bh=5ATqy6FDaazWryUpdp6T2kFdM17mLFZKqGBRW6IyTWc=; b=NhKuP5bfDVDnhkmXbhNP4B4AK/9KDi366dA6bNEFIZxsDrjQ5Ro6xe+xu1giYJgk5u 3F+33fjjuWL59t1lwJ6S4bSgNLD6+TCQZ3ERCvfwpGvISatxDzNnY6Zryio6ClFso+Eh okvTLOGTZSx75qGNNCehh1dkAvOSbyOm/7/NoPV7QIWchbsgfNuq/jbILgclTImoDRj6 TobJmcwk1s1dsEv0M98G0pso9kqfprb/Dwevu1ITCTqSIyPbDH9lnWJEtXvdtRTgPU50 c+BAgvZdQ2lvd7YtLipesAU/a0ItVjiz0zPjGAfrNAJR0rKwnlC7SpgrooLpezxWQaHm G61A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=QMHCu3fm; 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 x1-v6si60116868pfm.32.2018.06.11.13.58.37; Mon, 11 Jun 2018 13:58:51 -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; dkim=pass header.i=@sifive.com header.s=google header.b=QMHCu3fm; 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 S934707AbeFKUxc (ORCPT + 99 others); Mon, 11 Jun 2018 16:53:32 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:41045 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934534AbeFKUxa (ORCPT ); Mon, 11 Jun 2018 16:53:30 -0400 Received: by mail-pf0-f196.google.com with SMTP id a11-v6so10863211pff.8 for ; Mon, 11 Jun 2018 13:53:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=date:subject:in-reply-to:cc:from:to:message-id:mime-version :content-transfer-encoding; bh=5ATqy6FDaazWryUpdp6T2kFdM17mLFZKqGBRW6IyTWc=; b=QMHCu3fm9o3F9BKM68UEJuguKbzEZTv39jaabmj4+qKHh8435aeoER3kN5fjKS+1fE AdN23TlrUYPPar5iLSRW28pp2KIu5tVjP4yt3hAlxLaAjHZuuSRV5ow73htiRue+P/mg Y2PXhFrE9ShS4fgoqly4swD8i7nF4CbXIJVZQcYbZvy5YCDEVkKKLqk5l6i7zcm/1qhV FQcXytbP6lfFP+cqCEsfrl2uCiFFja5KRnK1FfqyIn/G2dWHQwJD6o17hZ0/1j2toCyP zrnsYDPF0pRPvZsWOMtNNahGgv66p/Nwji4oY3/Jferag+DGhce24Z2wgzfUtENXSP22 e3Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:subject:in-reply-to:cc:from:to:message-id :mime-version:content-transfer-encoding; bh=5ATqy6FDaazWryUpdp6T2kFdM17mLFZKqGBRW6IyTWc=; b=SWTpmGz/yXatqGmC76/rXmtcppFoRUX1uuZoU9FOHWzTyzHJjMAzR3BFwEAaMXYaXn v5zyvWLmeq0WnkWgwfWTQVpvdkuCjS72pzdw65LtR6NZBuvvu8pv1KhlNA0JrnAI81Bv oAK8vFQ9wIVxDrJfcj6SN2LoW4k0CQiDCi5Yx2s8QH5X1S3VnyzWgant547hvzbBMYVP CuswUdMmbAQ8EY2nSvLtnw9+1VEe8HPoBCO5kXSwEREaOMH/cEeKHpioHoy00eLFf6WM RR9ghCOoiBJqntcXiZcH5yXvfHB/qyFAWqZxZBi74/19hiXuzxLMJZHhHKCWy4GnUX/J RO+A== X-Gm-Message-State: APt69E3YuRKRGel+dfw+/mfIrEUjnqd1Bcf4mLUQU5wUlpA9HVXSw1Q1 nb9N787JCu1D26cnDQLotih8Ow== X-Received: by 2002:a63:a74c:: with SMTP id w12-v6mr634387pgo.374.1528750409833; Mon, 11 Jun 2018 13:53:29 -0700 (PDT) Received: from localhost ([12.206.222.5]) by smtp.gmail.com with ESMTPSA id u1-v6sm42333755pfn.59.2018.06.11.13.53.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Jun 2018 13:53:29 -0700 (PDT) Date: Mon, 11 Jun 2018 13:53:29 -0700 (PDT) X-Google-Original-Date: Mon, 11 Jun 2018 13:30:24 PDT (-0700) Subject: Re: [PATCH] RISC-V: Handle R_RISCV_32 in modules In-Reply-To: CC: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org From: Palmer Dabbelt To: schwab@suse.de Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 11 Jun 2018 00:54:00 PDT (-0700), schwab@suse.de wrote: > 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. Great, thanks! I guess I'm just a bit paranoid :)