patch "iio: proximity: as3935: fix buffer stack trashing" added to staging-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
iio: proximity: as3935: fix buffer stack trashing
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
37b1ba2c68cfbe37f5f45bb91bcfaf2b016ae6a1Mon Sep 17 00:00:00 2001
From: Matt Ranostay <[email protected]>
Date: Sat, 21 May 2016 20:01:03 -0700
Subject: iio: proximity: as3935: fix buffer stack trashing
Buffer wasn't of a valid size to allow the timestamp, and correct padding. This patchset also moves the buffer off the stack, and onto the heap.
--- drivers/iio/proximity/as3935.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/iio/proximity/as3935.c +4 -2
@@ -64,6 +64,7 @@ struct as3935_state {struct delayed_work work;u32 tune_cap; +u8 buffer[16 ];/* 8-bit data + 56-bit padding + 64-bit timestamp */ u8 buf[2 ]____cacheline_aligned ; };
@@ -212,9 +213,10 @@ static irqreturn_t as3935_trigger_handler(int irq, void *private) ret =as3935_read (st,AS3935_DATA , &val);if (ret) goto err_read; - val &=AS3935_DATA_MASK ; -iio_push_to_buffers_with_timestamp (indio_dev, &val, pf->timestamp); + st->buffer[0 ] = val &AS3935_DATA_MASK ; +iio_push_to_buffers_with_timestamp (indio_dev, &st->buffer, + pf->timestamp); err_read:iio_trigger_notify_done (indio_dev->trig);
Signature · 1 line
2.8.3