On Sat, Apr 18, 2020 at 12:15:57PM -0700, Linus Torvalds wrote:
On Sat, Apr 18, 2020 at 11:57 AM Joe Perches <joe(a)perches.com>
wrote:
>
> sysfs_create_link is __must_check
The way to handle __must_check if you really really don't want to test
and have good reasons is
(a) add a big comment about why this case ostensibly doesn't need the check
(b) cast a test of it to '(void)' or something (I guess we could add
a helper for this). So something like
/* We will always clean up, we don't care whether this fails
or succeeds */
(void)!!sysfs_create_link(...)
There are other alternatives (like using WARN_ON_ONCE() instead, for
example). So it depends on the code. Which is why that comment is
important to show why the code chose that option.
However, I wonder if in this case we should just remove the
__must_check. Greg? It goes back a long long time.
Yeah, maybe it is time to remove it, the gyrations people go through to
remove the warning when they "know" they are doing it right feels pretty
bad compared to forcing people to check things for "normal" calls to the
function.
thanks,
greg k-h