Re: 0003-module-remove-MODULE_GENERIC_TABLE.patch

From: Rusty Russell
Date: Sun Oct 19 2014 - 20:34:52 EST


Barry Davis <barry_davis@xxxxxxxxxxxxx> writes:
> Hi Rusty,
>
> Iâve just been looking at a change that this patch says you introduced:
>
> https://github.com/jumpstarter-io/pkgbuilds/blob/master/linux/0003-module-remove-MODULE_GENERIC_TABLE.patch
>
> In previous kernels we had this defined:
> chroot:# nm kernel/drivers/scsi/vmw_pvscsi.ko | grep _device_table
> 000000e0 R __mod_pci_device_table
>
> Now we have:
> chroot:# nm kernel/drivers/scsi/vmw_pvscsi.ko | grep _device_table
> 000000e0 R __mod_pci__pvscsi_pci_tbl_device_table
>
> This results in depmod from module-init-tools not being able to find the __mod_pci_device_table.
> This leads to modules.pcimap being generated with no entries, which breaks anything that uses modules.pcimap to decide if it should insert a module or not.
>
> Was this unintentional, or is there another way to successfully generate modules.pcimap?
>
> See https://github.com/vadmium/module-init-tools/blob/master/elfops_core.c#L351 for details of depmods expectations.

Hi Barry,

Not intentional at all! You're the first to report this though:
are you still using the (deprecated) modules.pcimap? The *map files are
not supported by kmod, and were only inserted as a nod to the older
modutils.

Because it's really hard to fix: we now allow multiple tables, so the
names are now unique.

commit cff26a51da5d206d3baf871e75778da44710219d is the one that broke
this, but commit 21bdd17b21b45ea48e06e23918d681afbe0622e9 relies on it:

commit 21bdd17b21b45ea48e06e23918d681afbe0622e9
Author: Tom Gundersen <teg@xxxxxxx>
Date: Mon Feb 3 11:14:13 2014 +1030

module: allow multiple calls to MODULE_DEVICE_TABLE() per module

Commit 78551277e4df5: "Input: i8042 - add PNP modaliases" had a bug, where the
second call to MODULE_DEVICE_TABLE() overrode the first resulting in not all
the modaliases being exposed.

This fixes the problem by including the name of the device_id table in the
__mod_*_device_table alias, allowing us to export several device_id tables
per module.

Suggested-by: Kay Sievers <kay@xxxxxxxx>
Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Tom Gundersen <teg@xxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/