Re: [PATCH] static_call: Handle module init failure correctly in static_call_del_module()
From: Thomas Gleixner
Date: Wed Sep 04 2024 - 04:52:47 EST
On Wed, Sep 04 2024 at 16:03, Jinjie Ruan wrote:
> On 2024/9/4 15:08, Thomas Gleixner wrote:
>> So the check must be:
>>
>> if (!static_call_key_has_mods(key))
>> break;
>
> Hi, Thomas,
>
> with this patch, the issue not occurs again,
>
> but there are some memory leak here same to the following problem:
That has absolutely nothing to do with static calls and the memory
allocation failure case there.
The module passed all preparatory steps, otherwise it would not be able
to create a kmem_cache from the module init() function:
kmem_cache_create+0x11/0x20
do_one_initcall+0xdc/0x550
do_init_module+0x241/0x630
amdgpu_init()
r = amdgpu_sync_init();
if (r)
goto error_sync;
r = amdgpu_fence_slab_init();
if (r)
goto error_fence;
<SNIP>
return pci_register_driver(&amdgpu_kms_pci_driver);
error_fence:
amdgpu_sync_fini();
error_sync:
return r;
Can you spot the problem?
Thanks,
tglx