Skip to content

Commit

Permalink
kbuild: check module name conflict for external modules as well
Browse files Browse the repository at this point in the history
If there are multiple modules with the same name in the same external
module tree, there is ambiguity about which one will be loaded, and
very likely something odd is happening.

Signed-off-by: Masahiro Yamada <[email protected]>
  • Loading branch information
masahir0y committed Apr 24, 2021
1 parent 3ac42b2 commit 1a998be
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1459,10 +1459,6 @@ endif
PHONY += modules
modules: $(if $(KBUILD_BUILTIN),vmlinux) modules_check modules_prepare

PHONY += modules_check
modules_check: modules.order
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<

cmd_modules_order = $(AWK) '!x[$$0]++' $(real-prereqs) > $@

modules.order: $(subdir-modorder) FORCE
Expand Down Expand Up @@ -1775,9 +1771,13 @@ PHONY += modules modules_install

ifdef CONFIG_MODULES

modules: $(MODORDER)
modules: modules_check
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost

PHONY += modules_check
modules_check: $(MODORDER)
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<

quiet_cmd_depmod = DEPMOD $(MODLIB)
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
$(KERNELRELEASE)
Expand Down
4 changes: 2 additions & 2 deletions scripts/modules-check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ exit_code=0
# Check uniqueness of module names
check_same_name_modules()
{
for m in $(sed 's:.*/::' $1 | sort | uniq -d)
for m in $(sed 's:.*/::' "$1" | sort | uniq -d)
do
echo "error: the following would cause module name conflict:" >&2
sed -n "/\/$m/s:^: :p" modules.order >&2
sed -n "/\/$m/s:^: :p" "$1" >&2
exit_code=1
done
}
Expand Down

0 comments on commit 1a998be

Please sign in to comment.