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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180825091658.0e4f7cf6@archlinux>
Date:   Sat, 25 Aug 2018 09:16:58 +0100
From:   Jonathan Cameron <jic23@...23.retrosnub.co.uk>
To:     Lars-Peter Clausen <lars@...afoo.de>
Cc:     Stefan Popa <stefan.popa@...log.com>, Michael.Hennerich@...log.com,
        knaack.h@....de, pmeerw@...erw.net, linux-iio@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] iio: adxl372: Provide validate_trigger and
 validate_device callbacks

On Mon, 20 Aug 2018 17:37:08 +0100
jic23@...nel.org wrote:

> On 20.08.2018 16:47, Lars-Peter Clausen wrote:
> > On 08/20/2018 04:53 PM, Stefan Popa wrote:  
> >> This patch provides a validate_device callback for the trigger which 
> >> makes
> >> sure that other devices are rejected.
> >> 
> >> Signed-off-by: Stefan Popa <stefan.popa@...log.com
> >> ---
> >>  drivers/iio/accel/adxl372.c | 13 +++++++++++++
> >>  1 file changed, 13 insertions(+)
> >> 
> >> diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
> >> index d2fdc75..5a039ba 100644
> >> --- a/drivers/iio/accel/adxl372.c
> >> +++ b/drivers/iio/accel/adxl372.c
> >> @@ -762,11 +762,24 @@ static int adxl372_dready_trig_set_state(struct 
> >> iio_trigger *trig,
> >>  	return adxl372_set_interrupts(st, mask, 0);
> >>  }
> >> 
> >> +static int adxl372_validate_trigger(struct iio_dev *indio_dev,
> >> +				    struct iio_trigger *trig)
> >> +{
> >> +	struct adxl372_state *st = iio_priv(indio_dev);
> >> +
> >> +	if (st->dready_trig != trig)
> >> +		return -EINVAL;
> >> +
> >> +	return 0;
> >> +}
> >> +
> >>  static const struct iio_trigger_ops adxl372_trigger_ops = {
> >> +	.validate_device = &iio_trigger_validate_own_device,
> >>  	.set_trigger_state = adxl372_dready_trig_set_state,
> >>  };
> >> 
> >>  static const struct iio_info adxl372_info = {
> >> +	.validate_trigger = &adxl372_validate_trigger,  
> > 
> > I wonder, if the device only works with the trigger and the trigger 
> > only
> > works with the device should we actually register a trigger?
> > 
> > Seems to be just extra hassle when setting up the device without any 
> > extra
> > benefits.  
> 
> I wondered the same, but there is a reason to do this if we think we
> will eventually have support for other triggers (which looks possible 
> for
> this device as we can bypass the fifo).  Then we want to do it in order
> to avoid a breaking ABI change.  There is a way around that by setting
> a default trigger so that it'll still use this one unless it is 
> explicitly
> set but that is rather ugly!
> 
> Jonathan
Hi Lars, Stefan,

I'll apply this as is, but if we continue this debate and reach another
conclusion we can always make a change during this cycle.

Plenty of time left!

Thanks,

Jonathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ