On 5/22/25 09:17, Masahiro Yamada wrote:
> When MODULE_IMPORT_NS() is missing, "make nsdeps" runs the Coccinelle
> script to automatically add MODULE_IMPORT_NS() to each module.
>
> This should not occur for users of EXPORT_SYMBOL_GPL_FOR_MODULES(), which
> is intended to export a symbol to a specific module only. In such cases,
> explicitly adding MODULE_IMPORT_NS("module:...") is disallowed.
>
> This commit handles the latter case separately in order not to trigger
> the Coccinelle, and displays the error message:
>
> ERROR: modpost: module "foo" uses symbol "bar", which is exported only for
> module "baz"
>
> Apply the same logic for kernel space as well.
>
> Fixes: 092a4f5985f2 ("module: Add module specific symbol namespace support")
> Signed-off-by: Masahiro Yamada <[email protected]>
Looks ok to me.
Reviewed-by: Petr Pavlu <[email protected]>
Does this patch make the following note about nsdeps in
Documentation/core-api/symbol-namespaces.rst (currently only in
linux-next) obsolete and can it now be removed?
"""
Note: it will happily generate an import statement for the module namespace;
which will not work and generates build and runtime failures.
"""
--
Thanks,
Petr