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@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