lkml.org 
[lkml]   [2017]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 160/250] USB: serial: digi_acceleport: fix OOB-event processing
    Date
    From: Johan Hovold <johan@kernel.org>

    commit 2e46565cf622dd0534a9d8bffe152a577b48d7aa upstream.

    A recent change claimed to fix an off-by-one error in the OOB-port
    completion handler, but instead introduced such an error. This could
    specifically led to modem-status changes going unnoticed, effectively
    breaking TIOCMGET.

    Note that the offending commit fixes a loop-condition underflow and is
    marked for stable, but should not be backported without this fix.

    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Fixes: 2d380889215f ("USB: serial: digi_acceleport: fix OOB data sanity
    check")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    ---
    drivers/usb/serial/digi_acceleport.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
    index 15b9cb3..e8d7c1b 100644
    --- a/drivers/usb/serial/digi_acceleport.c
    +++ b/drivers/usb/serial/digi_acceleport.c
    @@ -1498,7 +1498,7 @@ static int digi_read_oob_callback(struct urb *urb)
    return -1;

    /* handle each oob command */
    - for (i = 0; i < urb->actual_length - 4; i += 4) {
    + for (i = 0; i < urb->actual_length - 3; i += 4) {
    opcode = buf[i];
    line = buf[i + 1];
    status = buf[i + 2];
    --
    2.8.0.rc2.1.gbe9624a
    \
     
     \ /
      Last update: 2017-06-12 01:15    [W:4.450 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site