On Wed, Jan 10, 2018 at 4:54 PM, Christian König christian.koenig@amd.com wrote:
Hi Arnd,
Am 10.01.2018 um 16:45 schrieb Arnd Bergmann:
14 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c:1186:2: warning: ignoring return value of 'register_shrinker', declared with attribute warn_unused_result [-Wunused-result] 14 drivers/gpu/drm/ttm/ttm_page_alloc.c:485:2: warning: ignoring return value of 'register_shrinker', declared with attribute warn_unused_result [-Wunused-result]
ttm and kvm are now the last user of register_shrinker that doesn't propagate the return code to its caller, all other callers got fixed in one way or another.
I tried to fix this one too, but couldn't come up with a proper way of unwinding both kobject_init_and_add() and ttm_pool_mm_shrink_init():
ret = kobject_init_and_add(&_manager->kobj, &ttm_pool_kobj_type, &glob->kobj, "pool"); if (unlikely(ret != 0)) { kobject_put(&_manager->kobj); _manager = NULL; return ret; } ttm_pool_mm_shrink_init(_manager);
Calling kobject_put() after a failed kobject_init_and_add() seemed wrong, and it also appears to be missing a kfree(), so I didn't want to mess it up any further. Added a few people to Cc that touched this file most, maybe one of them can have a look, or they already have a patch waiting to get merged.
That isn't urgent, isn't it? So I would say I put it on my TODO list and I'm going to take care of it no later than 4.17.
Otherwise Roger or me could take a look tomorrow.
My understanding is that the warning will be in 4.16, so the fix should be as well, if only to get a clean build again. There were around a dozen such warnings when the warn_unused_result got added, but the others are all fixed in linux-next.
This is how the flag got added:
commit 64067c5cbfa24a2202b92e8fda7323610cad3043 Author: Tetsuo Handa penguin-kernel@I-love.SAKURA.ne.jp Date: Fri Jan 5 13:25:45 2018 +1100
mm,vmscan: mark register_shrinker() as __must_check
There are users not checking for register_shrinker() failure. Continuing with ignoring failure can lead to later oops at unregister_shrinker().
Link: http://lkml.kernel.org/r/1511265757-15563-1-git-send-email-penguin-kernel@I-... Signed-off-by: Tetsuo Handa penguin-kernel@I-love.SAKURA.ne.jp
Arnd