From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Josh Poimboeuf <jpoimboe@kernel.org>,
Klaus Kusche <klaus.kusche@computerix.info>,
Peter Zijlstra <peterz@infradead.org>,
Sasha Levin <sashal@kernel.org>,
nathan@kernel.org, llvm@lists.linux.dev
Subject: [PATCH AUTOSEL 6.6 08/17] objtool: Ignore dangling jump table entries
Date: Tue, 18 Feb 2025 15:27:32 -0500 [thread overview]
Message-ID: <20250218202743.3593296-8-sashal@kernel.org> (raw)
In-Reply-To: <20250218202743.3593296-1-sashal@kernel.org>
From: Josh Poimboeuf <jpoimboe@kernel.org>
[ Upstream commit 3724062ca2b1364f02cf44dbea1a552227844ad1 ]
Clang sometimes leaves dangling unused jump table entries which point to
the end of the function. Ignore them.
Closes: https://lore.kernel.org/20250113235835.vqgvb7cdspksy5dn@jpoimboe
Reported-by: Klaus Kusche <klaus.kusche@computerix.info>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/ee25c0b7e80113e950bd1d4c208b671d35774ff4.1736891751.git.jpoimboe@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
tools/objtool/check.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 1b242c3c2d451..6e59e7f578ffe 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -2028,6 +2028,14 @@ static int add_jump_table(struct objtool_file *file, struct instruction *insn,
reloc_addend(reloc) == pfunc->offset)
break;
+ /*
+ * Clang sometimes leaves dangling unused jump table entries
+ * which point to the end of the function. Ignore them.
+ */
+ if (reloc->sym->sec == pfunc->sec &&
+ reloc_addend(reloc) == pfunc->offset + pfunc->len)
+ goto next;
+
dest_insn = find_insn(file, reloc->sym->sec, reloc_addend(reloc));
if (!dest_insn)
break;
@@ -2045,6 +2053,7 @@ static int add_jump_table(struct objtool_file *file, struct instruction *insn,
alt->insn = dest_insn;
alt->next = insn->alts;
insn->alts = alt;
+next:
prev_offset = reloc_offset(reloc);
}
--
2.39.5
next prev parent reply other threads:[~2025-02-18 20:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-18 20:27 [PATCH AUTOSEL 6.6 01/17] HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 02/17] HID: intel-ish-hid: Send clock sync message immediately after reset Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 03/17] HID: ignore non-functional sensor in HP 5MP Camera Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 04/17] usb: phy: generic: Use proper helper for property detection Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 05/17] HID: topre: Fix n-key rollover on Realforce R3S TKL boards Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 06/17] HID: hid-apple: Apple Magic Keyboard a3203 USB-C support Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 07/17] HID: apple: fix up the F6 key on the Omoton KB066 keyboard Sasha Levin
2025-02-18 20:27 ` Sasha Levin [this message]
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 09/17] sched: Clarify wake_up_q()'s write to task->wake_q.next Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 10/17] platform/x86: thinkpad_acpi: Fix invalid fan speed on ThinkPad X120e Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 11/17] platform/x86: thinkpad_acpi: Support for V9 DYTC platform profiles Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 12/17] s390/cio: Fix CHPID "configure" attribute caching Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 13/17] thermal/cpufreq_cooling: Remove structure member documentation Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 14/17] um: virt-pci: don't use kmalloc() Sasha Levin
2025-02-19 7:42 ` Johannes Berg
2025-03-15 1:29 ` Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 15/17] um: virtio_uml: use raw spinlock Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 16/17] Xen/swiotlb: mark xen_swiotlb_fixup() __init Sasha Levin
2025-02-18 20:27 ` [PATCH AUTOSEL 6.6 17/17] Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250218202743.3593296-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=jpoimboe@kernel.org \
--cc=klaus.kusche@computerix.info \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=nathan@kernel.org \
--cc=peterz@infradead.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox