> On Mar 5, 2025, at 14:10, liuye <liuye@xxxxxxxxxx> wrote: > > > 在 2025/3/5 11:26, Qi Zheng 写道: >> >> >> On 3/5/25 11:17 AM, Muchun Song wrote: >>> >>> >>>> On Mar 5, 2025, at 10:01, Liu Ye <liuye@xxxxxxxxxx> wrote: >>>> >>>> After calling debugfs_change_name function, the return value should be >>>> checked and the old name restored. If debugfs_change_name fails, the new >>>> name memory should be freed. >>> >>> Seems it is not a big problem, no memory leak at least. The effect is that >>> the shrinker->name is not consistent with the name displayed in debugfs. >>> Right? But the improvement LGTM. So: >> >> Right, so the subject needs to be changed. >> >> Maybe: >> >> mm: shrinker: fix name consistency issue in shrinker_debugfs_rename() >> >> ? > I will send a new patch using this subject later. Please update the commit message as well to include the effect. > And add Reviewed-by:Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> ? > >> >> BTW, it seems that the callers of shrinker_debugfs_rename() did not >> process the return value of the function? > > Yes, At the same time, I also found that many positions using > debugfs_change_name did not determine the return value. > >> >>> >>> Reviewed-by: Muchun Song <muchun.song@xxxxxxxxx> >>> >>> Thanks. > Thanks. >>> >>>> >>>> Signed-off-by: Liu Ye <liuye@xxxxxxxxxx> >>>> --- >>>> mm/shrinker_debug.c | 8 ++++++-- >>>> 1 file changed, 6 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c >>>> index 794bd433cce0..20eaee3e97f7 100644 >>>> --- a/mm/shrinker_debug.c >>>> +++ b/mm/shrinker_debug.c >>>> @@ -214,10 +214,14 @@ int shrinker_debugfs_rename(struct shrinker *shrinker, const char *fmt, ...) >>>> ret = debugfs_change_name(shrinker->debugfs_entry, "%s-%d", >>>> shrinker->name, shrinker->debugfs_id); >>>> >>>> + if (ret) { >>>> + shrinker->name = old; >>>> + kfree_const(new); >>>> + } else { >>>> + kfree_const(old); >>>> + } >>>> mutex_unlock(&shrinker_mutex); >>>> >>>> - kfree_const(old); >>>> - >>>> return ret; >>>> } >>>> EXPORT_SYMBOL(shrinker_debugfs_rename); >>>> -- >>>> 2.25.1 >>>> >>> >>