Re: [PATCH] sysfs: replace WARN() with pr_debug in sysfs_remove_group()

From: Greg KH
Date: Tue Aug 01 2017 - 14:06:41 EST

On Tue, Aug 01, 2017 at 05:02:25PM +0900, Ethan Zhao wrote:
> There is no enough error handling in block device adding/registration
> path, for example,
> device_add_disk()
> blk_register_queue()
> When kernel returns from device_add_disk(), no return value to tell
> us it was successful or not --- that suggests it would always succeed,
> and according to this assumption, then during block device removal/
> unregistration steps,
> sd_remove()
> del_gendisk()
> blk_unregister_queue()
> dpm_sysfs_remove(), blk_trace_remove_sysfs() will be called blindly,
> though there is likely no 'trace' 'power' sysfs groups there because
> actually blk_register_queue()/device_add() failed somewhere. thus
> causes WARN flood emitted from sysfs_remove_group() as following triggered
> by unloading fnic driver:

Then fix the real issue here, don't paper over the issue by changing the
sysfs core please. No other subsystem seems to be having this issue.


greg k-h