Skip to content

Commit eb3479b

Browse files
committed
Merge tag 'kbuild-fixes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild fixes from Masahiro Yamada: - Fix section mismatch warning messages for riscv and loongarch - Remove CONFIG_IA64 left-over from linux/export-internal.h - Fix the location of the quotes for UIMAGE_NAME - Fix a memory leak bug in Kconfig * tag 'kbuild-fixes-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kconfig: fix memory leak from range properties kbuild: Move the single quotes for image name linux/export: clean up the IA-64 KSYM_FUNC macro modpost: fix section mismatch message for RELA
2 parents 46a29dd + ae1eff0 commit eb3479b

File tree

4 files changed

+13
-15
lines changed

4 files changed

+13
-15
lines changed

include/linux/export-internal.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,7 @@
5050
" .previous" "\n" \
5151
)
5252

53-
#ifdef CONFIG_IA64
54-
#define KSYM_FUNC(name) @fptr(name)
55-
#elif defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
53+
#if defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
5654
#define KSYM_FUNC(name) P%name
5755
#else
5856
#define KSYM_FUNC(name) name

scripts/Makefile.lib

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -487,14 +487,14 @@ UIMAGE_OPTS-y ?=
487487
UIMAGE_TYPE ?= kernel
488488
UIMAGE_LOADADDR ?= arch_must_set_this
489489
UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
490-
UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
490+
UIMAGE_NAME ?= Linux-$(KERNELRELEASE)
491491

492492
quiet_cmd_uimage = UIMAGE $@
493493
cmd_uimage = $(BASH) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
494494
-C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
495495
-T $(UIMAGE_TYPE) \
496496
-a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
497-
-n $(UIMAGE_NAME) -d $< $@
497+
-n '$(UIMAGE_NAME)' -d $< $@
498498

499499
# XZ
500500
# ---------------------------------------------------------------------------

scripts/kconfig/symbol.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ static long long sym_get_range_val(struct symbol *sym, int base)
122122
static void sym_validate_range(struct symbol *sym)
123123
{
124124
struct property *prop;
125+
struct symbol *range_sym;
125126
int base;
126127
long long val, val2;
127-
char str[64];
128128

129129
switch (sym->type) {
130130
case S_INT:
@@ -140,17 +140,15 @@ static void sym_validate_range(struct symbol *sym)
140140
if (!prop)
141141
return;
142142
val = strtoll(sym->curr.val, NULL, base);
143-
val2 = sym_get_range_val(prop->expr->left.sym, base);
143+
range_sym = prop->expr->left.sym;
144+
val2 = sym_get_range_val(range_sym, base);
144145
if (val >= val2) {
145-
val2 = sym_get_range_val(prop->expr->right.sym, base);
146+
range_sym = prop->expr->right.sym;
147+
val2 = sym_get_range_val(range_sym, base);
146148
if (val <= val2)
147149
return;
148150
}
149-
if (sym->type == S_INT)
150-
sprintf(str, "%lld", val2);
151-
else
152-
sprintf(str, "0x%llx", val2);
153-
sym->curr.val = xstrdup(str);
151+
sym->curr.val = range_sym->curr.val;
154152
}
155153

156154
static void sym_set_changed(struct symbol *sym)

scripts/mod/modpost.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1383,13 +1383,15 @@ static void section_rela(struct module *mod, struct elf_info *elf,
13831383
const Elf_Rela *rela;
13841384

13851385
for (rela = start; rela < stop; rela++) {
1386+
Elf_Sym *tsym;
13861387
Elf_Addr taddr, r_offset;
13871388
unsigned int r_type, r_sym;
13881389

13891390
r_offset = TO_NATIVE(rela->r_offset);
13901391
get_rel_type_and_sym(elf, rela->r_info, &r_type, &r_sym);
13911392

1392-
taddr = TO_NATIVE(rela->r_addend);
1393+
tsym = elf->symtab_start + r_sym;
1394+
taddr = tsym->st_value + TO_NATIVE(rela->r_addend);
13931395

13941396
switch (elf->hdr->e_machine) {
13951397
case EM_RISCV:
@@ -1404,7 +1406,7 @@ static void section_rela(struct module *mod, struct elf_info *elf,
14041406
break;
14051407
}
14061408

1407-
check_section_mismatch(mod, elf, elf->symtab_start + r_sym,
1409+
check_section_mismatch(mod, elf, tsym,
14081410
fsecndx, fromsec, r_offset, taddr);
14091411
}
14101412
}

0 commit comments

Comments
 (0)