The function drm_client_close is declared as static and marked as
EXPORT_SYMBOL. It's a bit confusing for an internal function to be
exported. The area of visibility for such function is its .c file
and all other modules. Other *.c files of the same module can't use it,
despite all other modules can. Relying on the fact that this is the
internal function and it's not a crucial part of the API, the patch
removes the EXPORT_SYMBOL marking of drm_client_close.
Signed-off-by: Denis Efremov <[email protected]>
---
drivers/gpu/drm/drm_client.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index f20d1dda3961..bffc87ac21c7 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -60,7 +60,6 @@ static void drm_client_close(struct drm_client_dev *client)
drm_file_free(client->file);
}
-EXPORT_SYMBOL(drm_client_close);
/**
* drm_client_init - Initialise a DRM client
--
2.21.0
On Thu, 4 Jul 2019 at 08:27, Denis Efremov <[email protected]> wrote:
>
> The function drm_client_close is declared as static and marked as
> EXPORT_SYMBOL. It's a bit confusing for an internal function to be
> exported. The area of visibility for such function is its .c file
> and all other modules. Other *.c files of the same module can't use it,
> despite all other modules can. Relying on the fact that this is the
> internal function and it's not a crucial part of the API, the patch
> removes the EXPORT_SYMBOL marking of drm_client_close.
>
> Signed-off-by: Denis Efremov <[email protected]>
Nice one:
Reviewed-by: Emil Velikov <[email protected]>
Out of curiosity: Did you use some tool to spot this?
-Emil
>
> Out of curiosity: Did you use some tool to spot this?
>
Just regular expressions:
https://github.com/evdenis/export_checking
But it's not very reliable because of false positives. I think I can try
to implement this kind of check as a part of modpost in addition to
CONFIG_DEBUG_SECTION_MISMATCH.
Denis
Den 04.07.2019 16.07, skrev Emil Velikov:
> On Thu, 4 Jul 2019 at 08:27, Denis Efremov <[email protected]> wrote:
>>
>> The function drm_client_close is declared as static and marked as
>> EXPORT_SYMBOL. It's a bit confusing for an internal function to be
>> exported. The area of visibility for such function is its .c file
>> and all other modules. Other *.c files of the same module can't use it,
>> despite all other modules can. Relying on the fact that this is the
>> internal function and it's not a crucial part of the API, the patch
>> removes the EXPORT_SYMBOL marking of drm_client_close.
>>
>> Signed-off-by: Denis Efremov <[email protected]>
>
> Nice one:
> Reviewed-by: Emil Velikov <[email protected]>
Thanks, applied.
Noralf.