On Sat, Apr 18, 2020 at 11:55:05AM -0700, Joe Perches wrote:
On Sat, 2020-04-18 at 11:53 -0700, Randy Dunlap wrote:
> On 4/18/20 11:50 AM, Matthew Wilcox wrote:
> > On Sat, Apr 18, 2020 at 11:41:09AM -0700, Randy Dunlap wrote:
> > > @@ -294,11 +295,11 @@ void dev_coredumpm(struct device *dev, s
> > >
> > > if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
> > > "failing_device"))
> > > - /* nothing - symlink will be missing */;
> > > + do_empty(); /* nothing - symlink will be missing */
> > >
> > > if (sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj,
> > > "devcoredump"))
> > > - /* nothing - symlink will be missing */;
> > > + do_empty(); /* nothing - symlink will be missing */
> > >
> > > INIT_DELAYED_WORK(&devcd->del_wk, devcd_del);
> > > schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT);
> >
> > Could just remove the 'if's?
> >
> > + sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
> > + "failing_device");
> >
>
> OK.
sysfs_create_link is __must_check
Oh, I missed the declaration -- I just saw the definition. This is a
situation where __must_check hurts us and it should be removed.
Or this code is wrong and it should be
WARN(sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
"failing_device");
like drivers/pci/controller/vmd.c and drivers/i2c/i2c-mux.c
Either way, the do_empty() construct feels like the wrong way of covering
up the warning.