On Fri, May 17, 2019 at 01:45:11PM +0900, Masahiro Yamada wrote: > On Fri, May 17, 2019 at 1:29 PM Masahiro Yamada > <yamada.masahiro@xxxxxxxxxxxxx> wrote: > > > > In the recent build test of linux-next, Stephen saw a build error > > caused by a broken .tmp_versions/*.mod file: > > > > https://lkml.org/lkml/2019/5/13/991 > > > > drivers/net/phy/asix.ko and drivers/net/usb/asix.ko have the same > > basename, and there is a race in generating .tmp_versions/asix.mod > > > > Kbuild has not checked this before, and it suddenly shows up with > > obscure error message when this kind of race occurs. > > > > Non-unique module names cause various sort of problems, but it is > > not trivial to catch them by eyes. > > > > Hence, this script. > > > > It checks not only real modules, but also built-in modules (i.e. > > controlled by tristate CONFIG option, but currently compiled with =y). > > Non-unique names for built-in modules also cause problems because > > /sys/modules/ would fall over. > > > > I tested allmodconfig on the latest kernel, and it detected the > > following: > > > > warning: same basename if the following are built as modules: > > drivers/regulator/88pm800.ko > > drivers/mfd/88pm800.ko > > warning: same basename if the following are built as modules: > > drivers/gpu/drm/bridge/adv7511/adv7511.ko > > drivers/media/i2c/adv7511.ko > > warning: same basename if the following are built as modules: > > drivers/net/phy/asix.ko > > drivers/net/usb/asix.ko > > warning: same basename if the following are built as modules: > > fs/coda/coda.ko > > drivers/media/platform/coda/coda.ko > > warning: same basename if the following are built as modules: > > drivers/net/phy/realtek.ko > > drivers/net/dsa/realtek.ko > > > > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > > --- > > > One more question popped up. > > External modules are out of scope of the community, > but it is possible that people create an external module > that happens to have the same name as an upstream driver. That is their bug, nothing we can do about that :) thanks, greg k-h