From: Arnd Bergmann <[email protected]>

Cleaning out the last -Wempty-body warnings found some interesting
cases with empty macros, along with harmless warnings like this one:

drivers/base/devcoredump.c: In function 'dev_coredumpm':
drivers/base/devcoredump.c:297:56: error: suggest braces around empty body in 
an 'if' statement [-Werror=empty-body]
  297 |                 /* nothing - symlink will be missing */;
      |                                                        ^
drivers/base/devcoredump.c:301:56: error: suggest braces around empty body in 
an 'if' statement [-Werror=empty-body]
  301 |                 /* nothing - symlink will be missing */;
      |                                                        ^

Randy tried addressing this one before, and there were multiple
other ideas in that thread.

Pick up the one that Matthew Wilcox suggested by adding a
WARN_ON_ONCE() and a comment.

Link: https://lore.kernel.org/lkml/[email protected]/
Cc: Randy Dunlap <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
 drivers/base/devcoredump.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/base/devcoredump.c b/drivers/base/devcoredump.c
index 9243468e2c99..88e0d931439e 100644
--- a/drivers/base/devcoredump.c
+++ b/drivers/base/devcoredump.c
@@ -292,13 +292,16 @@ void dev_coredumpm(struct device *dev, struct module 
*owner,
        if (device_add(&devcd->devcd_dev))
                goto put_device;
 
-       if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
-                             "failing_device"))
-               /* nothing - symlink will be missing */;
+       /*
+        * These should normally not fail, but there is no problem
+        * continuing without the links, so just warn instead of
+        * failing.
+        */
+       WARN_ON_ONCE(sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
+                                      "failing_device"));
 
-       if (sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj,
-                             "devcoredump"))
-               /* nothing - symlink will be missing */;
+       WARN_ON_ONCE(sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj,
+                                      "devcoredump"));
 
        INIT_DELAYED_WORK(&devcd->del_wk, devcd_del);
        schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT);
-- 
2.29.2

Reply via email to