• Johan Hovold's avatar
    USB: serial: usb_wwan: fix unprivileged TIOCCSERIAL · a3cb01e2
    Johan Hovold authored
    TIOCSSERIAL is a horrid, underspecified, legacy interface which for most
    serial devices is only useful for setting the close_delay and
    closing_wait parameters.
    
    A non-privileged user has only ever been able to set the since long
    deprecated ASYNC_SPD flags and trying to change any other *supported*
    feature should result in -EPERM being returned. Setting the current
    values for any supported features should return success.
    
    Fix the usb_wwan implementation which instead indicated that the
    TIOCSSERIAL ioctl was not even implemented when a non-privileged user
    set the current values.
    
    Fixes: 02303f73 ("usb-wwan: implement TIOCGSERIAL and TIOCSSERIAL to avoid blocking close(2)")
    Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    a3cb01e2
usb_wwan.c 17.1 KB