Messages in this thread | | | Subject | Re: [PATCH 3/3] mfd: rave-sp: Check received frame length before accepting next byte | From | Lucas Stach <> | Date | Tue, 06 Mar 2018 15:10:04 +0100 |
| |
Am Montag, den 26.02.2018, 07:07 -0800 schrieb Andrey Smirnov: > Check received frame length _before_ accepting next byte in order to > avoid incorrectly rejecting payloads that are RAVE_SP_RX_BUFFER_SIZE > long. > > Cc: linux-kernel@vger.kernel.org > Cc: cphealy@gmail.com > > Cc: Lucas Stach <l.stach@pengutronix.de> > > Cc: Lee Jones <lee.jones@linaro.org> > > Cc: Guenter Roeck <linux@roeck-us.net> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Tested-by: Lucas Stach <l.stach@pengutronix.de>
> --- > drivers/mfd/rave-sp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mfd/rave-sp.c b/drivers/mfd/rave-sp.c > index cec1e309b31f..76fa32006a1b 100644 > --- a/drivers/mfd/rave-sp.c > +++ b/drivers/mfd/rave-sp.c > @@ -548,8 +548,6 @@ static int rave_sp_receive_buf(struct serdev_device *serdev, > > /* FALLTHROUGH */ > > > case RAVE_SP_EXPECT_ESCAPED_DATA: > > - deframer->data[deframer->length++] = byte; > - > > if (deframer->length == sizeof(deframer->data)) { > > dev_warn(dev, "Bad frame: Too long\n"); > > /* > @@ -564,6 +562,8 @@ static int rave_sp_receive_buf(struct serdev_device *serdev, > > goto reset_framer; > > } > > > + deframer->data[deframer->length++] = byte; > + > > /* > > * We've extracted out special byte, now we > > * can go back to regular data collecting
| |