From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6209EE0204 for ; Wed, 13 Sep 2023 21:05:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F7F96B0290; Wed, 13 Sep 2023 17:05:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2835C6B0291; Wed, 13 Sep 2023 17:05:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB3D96B0292; Wed, 13 Sep 2023 17:05:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 908F96B0290 for ; Wed, 13 Sep 2023 17:05:43 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6343A1CA5E0 for ; Wed, 13 Sep 2023 21:05:43 +0000 (UTC) X-FDA: 81232805766.20.2343D70 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf22.hostedemail.com (Postfix) with ESMTP id 7A21CC000F for ; Wed, 13 Sep 2023 21:05:41 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=2N1qd3Ys; spf=pass (imf22.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694639141; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=IrM1G1X1joN9C/3rPYTl47RElW8sRiJaPs6T25r1A0k=; b=BA8gxO1drGDi2DfzbicrE7IIaElXX+yiSj+X+pgNuJsAjJ/zNE05jYp1GCosfbO5T6TbC+ FCQJ2egUu1lpFyfxz4tie2FRLOcpyaqWyt+hFCQPKhrDc9lJ5ZxTwaqdKoo3mMY42k0GG9 wnL5EN4rwO+KEoEfXbp4KTG5zfh36Gg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=2N1qd3Ys; spf=pass (imf22.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694639141; a=rsa-sha256; cv=none; b=whU4qJIG8VlD4IvDWQUfBv5f4DGYGveoZhZXsJxXjo3ieIVXJXPRAiLUrlaN/OJFuVzBCP 6In1PD3QU8iegqP4/DMveSqIsBov48Lv9LN3+vtUKcvhBRdzuQjTQklVpWdJyj2Xw5/t29 KQJm5hVEG8rKste7LTPTF5modd8KggU= Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-1bf1935f6c2so2281175ad.1 for ; Wed, 13 Sep 2023 14:05:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1694639140; x=1695243940; darn=kvack.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=IrM1G1X1joN9C/3rPYTl47RElW8sRiJaPs6T25r1A0k=; b=2N1qd3YsKJBvgWgdFzyeTms+UXa6g/lWX37S7q9aWYXiYcpwPpNVpQKcBq2OAeSWPp T9LpVkJwN32Er4+1OWpuukhFIVfD016g3gSMnjRgQFQrJVaYPIRauu84zpoEMT4bz59D mjU8htcMxjx7WgfFffyxf+zThj9tMdgkui+lgAbJBvEHWE8JSsrUp8eHwDMMwl3Js6PZ A61vE7uXXV5u8dC0ZMs0yN09Hg+cHDyPRkcWsYlEwCVY0D/BqvdmdnRPQhis26tfCiyg zqGwN7cW/OqC9t84X7iupWQDc5aQt3r09eNlzfTt3R0cYrPF5jaDwybVwWSMm8ouRLCv jWSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694639140; x=1695243940; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IrM1G1X1joN9C/3rPYTl47RElW8sRiJaPs6T25r1A0k=; b=i+s1FJ+sP2yKhhiA6t5OxNoaOBf3YyWAncLaJK6Jxqtr2uiVzKK7YXHoCEj2mO8HPq hNkt5uFZtIdz9RJ4pmZjKdX6tu9ZkV+dS19YdKJZ3q2hHfc2eBTQSTKiR22XEvUf5yve F06QiKd1YKg7I3uB2KRZqKXn1vm4ODTwSLFE1UMha23zxV1xmEdYOBBYrDO4VrLKGDid Rwpy1evU4dUnMd4z4FutidOlJzwE6AyIPRjeJ8am1a6U3yVnpFRXYyt38vO8O6E7ztmg 1NxQ0jS9e19Z1EPQZvj0oaQBx+YrnGiewWAlr+JIDTDkk54YxfPe5w0SsCuIX8LUUeEn hV3Q== X-Gm-Message-State: AOJu0YzWqvXqglV3gZJ31Jd10YUt8hSfpupsr4TonSbFph81AduDzUfw kUnHZsXUMbRUy0QFVDTBAsIltQ== X-Google-Smtp-Source: AGHT+IHGL3wuen0cvdY0OmpjQGjsmcKpwlYbOm7HmVx+lfYDGKmJjed11FXMUCYGBl/R3WLTRhQF2Q== X-Received: by 2002:a17:902:d487:b0:1c3:e3b1:98f9 with SMTP id c7-20020a170902d48700b001c3e3b198f9mr5880198plg.24.1694639140186; Wed, 13 Sep 2023 14:05:40 -0700 (PDT) Received: from charlie.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id z16-20020a170903019000b001ab2b4105ddsm66323plg.60.2023.09.13.14.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 14:05:39 -0700 (PDT) From: Charlie Jenkins Subject: [PATCH 0/2] riscv: Add remaining module relocations and tests Date: Wed, 13 Sep 2023 14:04:48 -0700 Message-Id: <20230913-module_relocations-v1-0-bb3d8467e793@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAPAjAmUC/x2MWwqAIBAAryL7nWBKz6tERLlbLVSGVgTR3ZM+B 2bmgUCeKUAtHvB0cWC3RUgTAXbut4kkY2TQShtVqVKuDs+FOk+Ls/0R7SDH3FjCPEsHLCCGu6e R73/atO/7AV7LNqRkAAAA To: linux-riscv@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Eric Biederman , Kees Cook , Paul Walmsley , Palmer Dabbelt , Albert Ou , Charlie Jenkins X-Mailer: b4 0.12.3 X-Rspamd-Queue-Id: 7A21CC000F X-Rspam-User: X-Stat-Signature: 4gdrn6d58hso5xntjgkuswi788gd7z93 X-Rspamd-Server: rspam01 X-HE-Tag: 1694639141-631377 X-HE-Meta: U2FsdGVkX1+xOA2MBsr1+rfim8FEVslfyHSVMfb8cNXW073mh11ElQIE3ZmFBuHNGncH9eh4dFJKQ16ysfcDdHDRKUTZd+D5Pg0sNc0TQllfemm9OM2q9uwnKSeT1R/714PlVVPtlmjmvgMwtm1dFnHErEa6lpKPNUY+Ryg8DoM17G4gYHRh7BngScUHS75utZtiiIr0p68687BrYgIbmdtoQu0f5SwnVPh1P70Vn/FFwYkp5n5+88iH4YIOyl2dD9NMtmaDTrYUYkqc70sz1OypfV2uStnjNdtaFQhLDhgRc0+i8SJMQ63fLoYJ3etn7aUC1pBZxsVGGEKPr3Ener/P0CtVbJU0lfKNNky+Wacb236bxly4PWmpsHmol7zBkd1vnIvPqJkLYRn2nDP2vId/CNfjTjJziogfqPXn3U7GserORUFHhXFCAd/7IxgtUzua3uXBteIQIlwFNYPcTxfCn64byWBrK6p5L//am25loq2Fpd7Uo+itYOMQREe1rTDoWwe7HEb//ElWvfOsPFfCkxZtrZeupfV7NBWQCfnNMm3hDrz9kSav6iUic62zdbwH72H2GiQlrIz1naObr8SlmcgiVqfKj410mzHI7p9KW8xTQoGy+zkFa5KJnvyCyP+NQXyK0L9hdz558eKjxua+Q/YtCmPHAllXiKP9gVO49DZ/Swtqvg7QNA1ykZhQu7nHMH1ez0ydSFT0ls5XRXUjR6I9wOp2WvH/oaeunN2jZdJkEVpU0vM1atGfYl0tA7YaiE9uCQ5ROKhdyls18Q44JY1FkTfbKh6JIR9AFY+N9hbRbplGtA1Mhrm1UjlY6mjNZwMkmmIjq9DQJ1yDB3ca2UasYlkUp5G1VcfaY4Lc1vtvQfjtnw7WLPcJb/5vRBq+j5omHKJKuC765gN6v/B3Y0cMhf3RDNhYdr8gftTQALx9szkuORHb5FnNkG00FYjdUfQND5+4KNQyZ4b Di/NW0Hz gnxmqY19yIR8kSEYGL7OMt7BJLnVXGW50aj7v/4VYRzebjZ9xJkIn1AM+Un5OqnHSXOzboMIvaDyhB+g1bSvnu9y2SCn3imMCwSZH6pgcV/9JbDyip7BKucL59xdvDEi/fb45CXTI2jiTiO9Iwg+3XSRfmusstTFuYBOJL/eyIdhVLRb5h+cjYZ3dImH7r4oyeY+mH2uQdn4OZceyhF7MvKlLnM76Wb3oQpoKrRgLaIsldBr5YpNaOCpey4og7DUDykuRY2X2RBcQldstKSai9+8t4jBmDJi39MryYMW7kg0Le7gOeNp1N6Rq2F+YmF+WEWwzcFncvCp+pJo1+RfshfTE9u0lew+myt8x2l3tdMN4MORjH0IhkRnrNFgQ1viQiAgmqeNa92kM55kEVsdIAac8JVaOi7f4NCJQR9H6X16mWeIGfmgbuRlzzTCfP7BbpEIcW2n5iJZNnjM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000639, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: A handful of module relocations were missing, this patch includes the remaining ones. I also wrote some test cases to ensure that module loading works properly. Some relocations cannot be supported in the kernel, these include the ones that rely on thread local storage and dynamic linking. The ULEB128 relocations also seem to be stripped out of kernel module binaries. This can be tested by enabling KUNIT, RUNTIME_KERNEL_TESTING_MENU, and RISCV_MODULE_LINKING_KUNIT. Signed-off-by: Charlie Jenkins --- Charlie Jenkins (2): riscv: Add remaining module relocations riscv: Add tests for riscv module loading arch/riscv/Kconfig.debug | 1 + arch/riscv/include/uapi/asm/elf.h | 6 +- arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/module.c | 191 ++++++++++++++++++--- arch/riscv/kernel/tests/Kconfig.debug | 32 ++++ arch/riscv/kernel/tests/Makefile | 1 + arch/riscv/kernel/tests/module_test/Makefile | 11 ++ .../tests/module_test/test_module_linking_main.c | 64 +++++++ arch/riscv/kernel/tests/module_test/test_set16.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set32.S | 20 +++ arch/riscv/kernel/tests/module_test/test_set6.S | 23 +++ arch/riscv/kernel/tests/module_test/test_set8.S | 23 +++ arch/riscv/kernel/tests/module_test/test_sub16.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub32.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub6.S | 22 +++ arch/riscv/kernel/tests/module_test/test_sub64.S | 27 +++ arch/riscv/kernel/tests/module_test/test_sub8.S | 22 +++ 17 files changed, 485 insertions(+), 26 deletions(-) --- base-commit: a48fa7efaf1161c1c898931fe4c7f0070964233a change-id: 20230908-module_relocations-f63ced651bd7 -- - Charlie