From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7697C347539; Mon, 16 Mar 2026 06:26:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773642373; cv=none; b=ghH02wve8/4fsEisTlvUcZNnpAcnFDgCy4HwNC22cP429tgNi8SuoQQ2v/aj6yMLuFqIXpKUHXE0wk28XAjWiRUn1OsRWhWaPNUdl9bfFSoJxoQSipJiGEAPxKLRchMCu817av82QJ8ZRarLhgJUU6AirqAI77YHL6kYFSZY3D4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773642373; c=relaxed/simple; bh=N3DVzIuD0nMb/rE0e9wWlFN3QKI0jOwsQ2Nz2R9MPzU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=berQLtr18uyufjIi0CutlYOKQxA+GfT1hQAxwctFjoSsa8g/chueX0+nwEwSDKO/Snce42i9y1tY+5uNb7jGrabv7u9SHamse0KZ+DlrhQxX8Ndc3REun7SaINm5qhQe5fOiuOpkcp67/5bahi4RWSvPvSlU+CZ4PSb8MUVyCIw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=RPsgPTCH; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="RPsgPTCH" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62FNjeqX967663; Mon, 16 Mar 2026 06:25:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=ZZvOsDEOjQU96fYPx lcVKG8jZFe5rT/5ilS5dmBxUSE=; b=RPsgPTCHdW0bUqbDHm6rxF/rmQ9bQOcFr 9Ba1dExKYxaSIaZwEYG1kAtoHi5bOtZu8zzwWA+hUm+U2Q8EzwgmM/m/QMNoBE0N n1/6woU0yza+tBz1Glgj0mD4ltnsQuaPuyx5RMTMREF+i3K2t0o28gO2NESgADrr aklFF/SuKTIrbbo6MZzNV+6EfMwWFGr9I1e47hnY3weUgwanlj4dq5WwWQMi26LD MFfFsf3neCcue9RhFAhCPDpKhHG4bDkuuPA/r2qbCkdSG1ILtwo4f3tgGZVmvAjX UyJu8LBEl0exg7JdfdC0Kn56SWmUds4+G47rJnYmQHAbTIwRyKJ+g== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4cvx3cp91x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Mar 2026 06:25:47 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 62G6EAQD032327; Mon, 16 Mar 2026 06:25:46 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4cwm7jkhuf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Mar 2026 06:25:46 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 62G6PhwO43712950 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Mar 2026 06:25:43 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E524E2004B; Mon, 16 Mar 2026 06:25:42 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 284DD20049; Mon, 16 Mar 2026 06:25:39 +0000 (GMT) Received: from li-2fa77bcc-2701-11b2-a85c-cd621c23b6bd.bl1-in.ibm.com (unknown [9.123.13.4]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 16 Mar 2026 06:25:38 +0000 (GMT) From: Sathvika Vasireddy To: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Cc: nathan@kernel.org, masahiroy@kernel.org, kees@kernel.org, naveen@kernel.org, jpoimboe@kernel.org, peterz@infradead.org, npiggin@gmail.com, maddy@linux.ibm.com, segher@kernel.crashing.org, christophe.leroy@csgroup.eu, mingo@kernel.org, mpe@ellerman.id.au, sv@linux.ibm.com, nsc@kernel.org Subject: [RFC PATCH v4 2/6] objtool: Set ELF_F_LAYOUT flag to preserve vmlinux segment layout Date: Mon, 16 Mar 2026 11:52:33 +0530 Message-ID: <20260316062237.30948-3-sv@linux.ibm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260316062237.30948-1-sv@linux.ibm.com> References: <20260316062237.30948-1-sv@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Authority-Analysis: v=2.4 cv=arO/yCZV c=1 sm=1 tr=0 ts=69b7a26c cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8 a=dGyo4u3eiptz4-Zsc8UA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE2MDA0NSBTYWx0ZWRfXx0KeWWLxiAkh ue0kaLhuojb+id7MA/sepUbUaducK9uNC3X5TkvPLhv6YDgTC+qpyff/kISOZBLYZNbACFrAtHq vW/b+1tyL6Jux6E1SIxDWMdPzL8L8+rR5hVq3y0yL3wNni94rteuHYbOHNgdemz0loZzeu0Ojzt llzTfnX7vPVqn9oYyHIjfeuOO3LecX++gqLIu3wfI/pFfdbMu4SQ+9oJf+UgWZtO4cwMJoJa0fu jvsbpzsJFmWPFI5lZn5yR6jlSJTzKBhC7U2pQA2+wJuYD6P0+fCrYuilt/ek2haX6sDLo1XHkMj /sdtcoQ1fqpf6YNyRLDulxEhejZsONf1qZn8kgCxbB4peEyQ9xqCaBkCD959kWzOb7r5mBj/+vr /pPEkXP9Z30ke2fDKYel4qdnJM9fvmZerNoAqboRzX5wBIujgxUavkl8OT9dtRwjMf6A1OqGyFC Q7gJCtgo5RRfR1vQgrg== X-Proofpoint-GUID: GmcYMIHmX5wXMZ3p-ZkNoFBJvJ5N2xSd X-Proofpoint-ORIG-GUID: MjNrBFtveABCS8hU7vK8mehQHNuDlOx9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-16_02,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 bulkscore=0 suspectscore=0 malwarescore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603160045 When objtool writes changes back to vmlinux with --ftr-fixup --link, libelf recalculates the file layout and inserts padding between sections. This corrupts the ELF segment structure, causing kexec to fail with: ELF Note corrupted ! Cannot determine the file type of vmlinux This happens because libelf's default behavior assumes it can freely rearrange section offsets when writing, which breaks the carefully constructed vmlinux layout produced by the linker. Set ELF_F_LAYOUT after elf_begin() to instruct libelf that the application is responsible for the file layout. This prevents libelf from inserting padding or repositioning sections while still allowing data modifications to be written back. Signed-off-by: Sathvika Vasireddy --- tools/objtool/elf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c index d519eb3d7fd8..3c84c2713a7b 100644 --- a/tools/objtool/elf.c +++ b/tools/objtool/elf.c @@ -1158,6 +1158,9 @@ struct elf *elf_open_read(const char *name, int flags) elf->elf = elf_begin(elf->fd, cmd, NULL); + if (opts.ftr_fixup) + elf_flagelf(elf->elf, ELF_C_SET, ELF_F_LAYOUT); + if (!elf->elf) { ERROR_ELF("elf_begin"); goto err; -- 2.43.0