From nobody Sat Apr 18 12:08:21 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fyVrk0rrfz6ZcQq for ; Sat, 18 Apr 2026 12:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fyVrj4CzCz4LMp for ; Sat, 18 Apr 2026 12:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776514101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uh2Rki4MBUlq+i6q1sZjBpBcO30k+FKomJlk53j642k=; b=DUAgkmvkeaXop6UG2xO1k7w80O8KONGtg5z2bxVn0zpYyjEKbm/vAEfvHNontoeDxqxvIj nJvwBobKilyEVXZcccGoVXWrIGQcGylPUfkqQLFC57rW7pugHLeHpWGs1iSIMGbB7iuePr dbOZuNEoEDQD7f3XTuGyLMoC3wXU25d4pE//oxzrkI8TqD8VtnnTrip48VgyPI8E5b1ZM/ JXU2mhxn8j5MTd1XuYIFG/FEYpuouD4RFWEqdLGhj8BQV/8Kg9hD4eAYaj6VH8BuMjOQBV LONDoPmKhZ1PefhMJ5Em/SMEyJ4RA4xzO5P7cA0QaUQP0T44IUPy6wUKcRdZLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776514101; a=rsa-sha256; cv=none; b=gZ4DrL4TZTw9yk7x8T6GHHFUqjHYJgMmAqcvlxc2QoAtDZtDjm1/KWqexNtT5JLZ0YTSnu OAPX3Oeg1gK0pNbX+OwyRzYujy+TNnoJ2J4eORIgrDCvy/ez447Niryq3saoHke1t2QFgl So3GF6gD0OmWBidSwI2PG1bdYBve/3Ovq+Kay4rOJH4zftBwxxfTOXdzCaxs4LiyymTJaN yJV+TnY8x0sl3fjKGEsFbf1JqI6zl4k3+Kk5vN7uxOpgMpswa0M5gwxqkzbZXBuedmtZ/x toy20DkEiPk33Otf5UCNR9WLHas1F4hKrq5ondq1rfYXl0XZyDOb3DmGfZxk/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776514101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uh2Rki4MBUlq+i6q1sZjBpBcO30k+FKomJlk53j642k=; b=oe5hX1hgFa5QFx4BCGutYMO5UKbrZ3PBSyy6FbiOLKnM/6ERYU3zLmd5lGUcmYURlQeW0w NZD83q3n9TAFJ/6bPxLC/icZOmf2uzNInXJR0Z8t4KNXsMyB8cQRe9Ylbm8K7mO6vrcrYI aapDZhDZSTCdZvtwQ0HkgzVlRVE/lYFVv2++vBHeGharIfHI6Ig6+kTwj/lr8FgwGensqe 1qvM42smmkWDYzVSbQuqRsKMr2+u5DkOAI6oyp4Ogjd353r4Mss/qpvcRWPmjFSOytuyXR LQa+Cg4Jq1WPZ3V9NFF4wx7gFc+ayKI2T+vz55CtCL5YLRwGwgr0EknvSQQROA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fyVrj3bMrzgDT for ; Sat, 18 Apr 2026 12:08:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b47e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 18 Apr 2026 12:08:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: ba94d7574972 - main - stand/common/load_elf: Do kernel module relocations for PPC List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba94d75749721fae999f756cb227638f9d4398a8 Auto-Submitted: auto-generated Date: Sat, 18 Apr 2026 12:08:21 +0000 Message-Id: <69e37435.3b47e.5048e12@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=ba94d75749721fae999f756cb227638f9d4398a8 commit ba94d75749721fae999f756cb227638f9d4398a8 Author: Lexi Winter AuthorDate: 2026-04-18 12:07:10 +0000 Commit: Lexi Winter CommitDate: 2026-04-18 12:07:10 +0000 stand/common/load_elf: Do kernel module relocations for PPC reloc_ptr() skips relocations for the kernel module, because on most platforms the kernel is ET_EXEC and this is not required. On PPC, the kernel is ET_DYN and we need to relocate here, otherwise the module metadata will not be loaded properly and the kernel module will have an incorrect version, preventing module dependencies from resolving. This fixes loading kernel modules from loader.conf on powerpc. Diagnosed by: jrtc27 Reviewed by: jrtc27, adrian Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56457 --- stand/common/load_elf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index 10131f7ccb88..a6ea60c74b84 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -1282,10 +1282,11 @@ __elfN(reloc_ptr)(struct preloaded_file *mp, elf_file_t ef, int error; /* - * The kernel is already relocated, but we still want to apply - * offset adjustments. + * On most platforms, the kernel is already relocated, but we still + * want to apply offset adjustments. For PowerPC, the kernel is + * ET_DYN rather than ET_EXEC and we still need to relocate here. */ - if (ef->kernel) + if (ef->kernel && ef->ehdr->e_type != ET_DYN) return (EOPNOTSUPP); for (n = 0; n < ef->relsz / sizeof(r); n++) {