diff options
author | 2025-04-30 08:37:52 -0700 | |
---|---|---|
committer | 2025-04-30 08:37:52 -0700 | |
commit | 3929527918ffa6a0e5c31004ed06d8d1032fc1cf (patch) | |
tree | 34b27fc2c7ce3f316711e46d2976ca8fdbbe61a9 /drivers/base | |
parent | Merge tag 'v6.15-p6' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 (diff) | |
parent | drivers: base: handle module_kobject creation (diff) | |
download | wireguard-linux-3929527918ffa6a0e5c31004ed06d8d1032fc1cf.tar.xz wireguard-linux-3929527918ffa6a0e5c31004ed06d8d1032fc1cf.zip |
Merge tag 'modules-6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux
Pull modules fixes from Petr Pavlu:
"A single series to properly handle the module_kobject creation.
This fixes a problem with missing /sys/module/<module>/drivers for
built-in modules"
* tag 'modules-6.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux:
drivers: base: handle module_kobject creation
kernel: globalize lookup_or_create_module_kobject()
kernel: refactor lookup_or_create_module_kobject()
kernel: param: rename locate_module_kobject
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/module.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/base/module.c b/drivers/base/module.c index 5bc71bea883a..218aaa096455 100644 --- a/drivers/base/module.c +++ b/drivers/base/module.c @@ -42,16 +42,13 @@ int module_add_driver(struct module *mod, const struct device_driver *drv) if (mod) mk = &mod->mkobj; else if (drv->mod_name) { - struct kobject *mkobj; - - /* Lookup built-in module entry in /sys/modules */ - mkobj = kset_find_obj(module_kset, drv->mod_name); - if (mkobj) { - mk = container_of(mkobj, struct module_kobject, kobj); + /* Lookup or create built-in module entry in /sys/modules */ + mk = lookup_or_create_module_kobject(drv->mod_name); + if (mk) { /* remember our module structure */ drv->p->mkobj = mk; - /* kset_find_obj took a reference */ - kobject_put(mkobj); + /* lookup_or_create_module_kobject took a reference */ + kobject_put(&mk->kobj); } } |