Skip to content

Commit fd601f3

Browse files
rustylifegregkh
authored andcommitted
usb: hso: check for return value in hso_serial_common_create()
[ Upstream commit e911e99 ] in case of an error tty_register_device_attr() returns ERR_PTR(), add IS_ERR() check Reported-and-tested-by: [email protected] Link: https://syzkaller.appspot.com/bug?extid=67b2bd0e34f952d0321e Signed-off-by: Rustam Kovhaev <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 871b5a5 commit fd601f3

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/net/usb/hso.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2260,12 +2260,14 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
22602260

22612261
minor = get_free_serial_index();
22622262
if (minor < 0)
2263-
goto exit;
2263+
goto exit2;
22642264

22652265
/* register our minor number */
22662266
serial->parent->dev = tty_port_register_device_attr(&serial->port,
22672267
tty_drv, minor, &serial->parent->interface->dev,
22682268
serial->parent, hso_serial_dev_groups);
2269+
if (IS_ERR(serial->parent->dev))
2270+
goto exit2;
22692271

22702272
/* fill in specific data for later use */
22712273
serial->minor = minor;
@@ -2310,6 +2312,7 @@ static int hso_serial_common_create(struct hso_serial *serial, int num_urbs,
23102312
return 0;
23112313
exit:
23122314
hso_serial_tty_unregister(serial);
2315+
exit2:
23132316
hso_serial_common_free(serial);
23142317
return -1;
23152318
}

0 commit comments

Comments
 (0)