Skip to content

Commit

Permalink
USB: serial: whiteheat: fix potential slab corruption
Browse files Browse the repository at this point in the history
Fix a user-controlled slab buffer overflow due to a missing sanity check
on the bulk-out transfer buffer used for control requests.

Fixes: 1da177e ("Linux-2.6.12-rc2")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20191029102354.2733-2-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Johan Hovold authored and Greg Kroah-Hartman committed Oct 30, 2019
1 parent 54f83b8 commit 1251dab
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/usb/serial/whiteheat.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,10 @@ static int firm_send_command(struct usb_serial_port *port, __u8 command,

command_port = port->serial->port[COMMAND_PORT];
command_info = usb_get_serial_port_data(command_port);

if (command_port->bulk_out_size < datasize + 1)
return -EIO;

mutex_lock(&command_info->mutex);
command_info->command_finished = false;

Expand Down

0 comments on commit 1251dab

Please sign in to comment.