lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 3 Jan 2021 17:58:41 -0800
From:   Dmitry Torokhov <dmitry.torokhov@...il.com>
To:     Jeff LaBundy <jeff@...undy.com>
Cc:     Roy Im <roy.im.opensource@...semi.com>,
        "linux-input@...r.kernel.org" <linux-input@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] Input: da7280 - protect OF match table with CONFIG_OF

Hi Jeff,

On Sat, Dec 19, 2020 at 08:01:09PM -0600, Jeff LaBundy wrote:
> Hi Dmitry,
> 
> On Fri, Dec 18, 2020 at 04:49:48PM +0000, Roy Im wrote:
> > On Friday, December 18, 2020 3:50 PM, Dmitry Torokhov wrote:
> > 
> > > The OF match table is only used when OF is enabled.
> > > 
> > > Fixes: cd3f609823a5 ("Input: new da7280 haptic driver")
> > > Reported-by: kernel test robot <lkp@...el.com>
> > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@...il.com>
> > > ---
> > >  drivers/input/misc/da7280.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/input/misc/da7280.c b/drivers/input/misc/da7280.c index 2f698a8c1d65..b08610d6e575 100644
> > > --- a/drivers/input/misc/da7280.c
> > > +++ b/drivers/input/misc/da7280.c
> > > @@ -1300,11 +1300,13 @@ static int __maybe_unused da7280_resume(struct device *dev)
> > >  	return retval;
> > >  }
> > > 
> > > +#ifdef CONFIG_OF
> > >  static const struct of_device_id da7280_of_match[] = {
> > >  	{ .compatible = "dlg,da7280", },
> > >  	{ }
> > >  };
> > >  MODULE_DEVICE_TABLE(of, da7280_of_match);
> > > +#endif
> 
> Just for my own understanding, would it not work just as well
> to include of_device.h? This includes mod_devicetable.h which
> in turn defines the of_device_id struct (even if CONFIG_OF is
> not set).

The issue here is not that the structure is undefined, but the variable
is unused. We could also fix this by not using of_match_ptr() when
assigning the match table to the driver structure, making the variable
referenced even if CONFIG_OF is off.

> 
> The reason for asking is because it seems many drivers do not
> include these guards.

It could be that they are either only compiled with OF, or they decided
it is not worth saving a few bytes, or maybe they are used on ACPI-based
systems with PRP0001 bindings in which case the match table in the
driver might still be needed.

Thanks.

-- 
Dmitry

Powered by blists - more mailing lists