linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 0003-module-remove-MODULE_GENERIC_TABLE.patch
       [not found] <EF6418FA9E2C4C238A5A1FB4BE9FF408@vWin7>
@ 2014-10-20  0:28 ` Rusty Russell
  0 siblings, 0 replies; only message in thread
From: Rusty Russell @ 2014-10-20  0:28 UTC (permalink / raw)
  To: Barry Davis; +Cc: Tom Gundersen, lkml

Barry Davis <barry_davis@stormagic.com> 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@jklm.no>
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@vrfy.org>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Tom Gundersen <teg@jklm.no>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-10-20  0:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <EF6418FA9E2C4C238A5A1FB4BE9FF408@vWin7>
2014-10-20  0:28 ` 0003-module-remove-MODULE_GENERIC_TABLE.patch Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).