aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/boot/tools/relocs.c
diff options
context:
space:
mode:
authorJakub Kicinski <[email protected]>2025-03-06 21:01:27 +0000
committerJakub Kicinski <[email protected]>2025-03-06 21:03:35 +0000
commit2525e16a2bae322641fd745412f3524d4455d8df (patch)
treeb1b2646362b8cc89fe3cf4eece698810fbb05c55 /arch/mips/boot/tools/relocs.c
parentMerge branch 'net-hold-netdev-instance-lock-during-ndo-operations' (diff)
parentMerge tag 'net-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff)
downloadkernel-2525e16a2bae322641fd745412f3524d4455d8df.tar.gz
kernel-2525e16a2bae322641fd745412f3524d4455d8df.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.14-rc6). Conflicts: net/ethtool/cabletest.c 2bcf4772e45a ("net: ethtool: try to protect all callback with netdev instance lock") 637399bf7e77 ("net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device") No Adjacent changes. Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'arch/mips/boot/tools/relocs.c')
-rw-r--r--arch/mips/boot/tools/relocs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/boot/tools/relocs.c b/arch/mips/boot/tools/relocs.c
index a88d66c46d7f..9863e1d5c62e 100644
--- a/arch/mips/boot/tools/relocs.c
+++ b/arch/mips/boot/tools/relocs.c
@@ -468,6 +468,8 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
Elf_Sym *sym, const char *symname))
{
int i;
+ struct section *extab_sec = sec_lookup("__ex_table");
+ int extab_index = extab_sec ? extab_sec - secs : -1;
/* Walk through the relocations */
for (i = 0; i < ehdr.e_shnum; i++) {
@@ -480,6 +482,9 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
if (sec->shdr.sh_type != SHT_REL_TYPE)
continue;
+ if (sec->shdr.sh_info == extab_index)
+ continue;
+
sec_symtab = sec->link;
sec_applies = &secs[sec->shdr.sh_info];
if (!(sec_applies->shdr.sh_flags & SHF_ALLOC))