Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 20 files:
- arch/um/drivers/line.c
- drivers/ipack/devices/ipoctal.c, line 772
- drivers/mmc/core/sdio_uart.c, line 1096
- drivers/net/usb/hso.c, line 2221
- drivers/s390/char/con3270.c, line 1973
- drivers/staging/greybus/uart.c, line 938
- drivers/tty/goldfish.c, line 421
- drivers/tty/moxa.c, line 1051
- drivers/tty/mxser.c
- drivers/tty/n_gsm.c
- drivers/tty/nozomi.c
- drivers/tty/rpmsg_tty.c, line 212
- drivers/tty/tty_io.c
- drivers/tty/tty_port.c, line 237
- drivers/tty/vcc.c
- drivers/usb/class/cdc-acm.c, line 1642
- drivers/usb/gadget/function/u_serial.c, line 1280
- drivers/usb/host/xhci-dbgtty.c, line 559
- drivers/usb/serial/bus.c, line 93
- net/bluetooth/rfcomm/tty.c, line 93
Smatch caller information:
drivers/tty/tty_io.c destruct_tty_driver() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->flags | 1-u64max |
| PARAM_VALUE | 0 | driver->num | 1-u32max |
| PARAM_VALUE | 0 | driver->termios | 4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-s32max |
| CAPPED_DATA | 1 | index | 1 |
| PARAM_COMPARE | 0 | driver->num | > $1 |
| PARAM_COMPARE | 1 | index | < $0->num |
| BIT_INFO | 0 | driver->flags | 0x1,0xfffffffffffffff7 |
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_array_size |
drivers/tty/tty_io.c tty_register_driver() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->cdevs | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->flags | 6,12,14,44,134,326,350 |
| PARAM_VALUE | 0 | driver->kref.refcount.refs.counter | 1 |
| PARAM_VALUE | 0 | driver->num | 1-u32max |
| PARAM_VALUE | 0 | driver->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->break_ctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->cleanup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->close | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->compat_ioctl | 0,1607379221601308672,5008286898947497984,6364353445524312064 |
| PARAM_VALUE | 0 | driver->ops->flush_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->flush_chars | 0,1052010245467496448,2980791929595514880,3704408163259400192,5936479321816121344,7727514164138360832 |
| PARAM_VALUE | 0 | driver->ops->get_icount | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->get_serial | 0,1330961132715589632,4039553157414182912,4811237459575484416,4871069280902643712,5552263133363023872,6182381990465540096 |
| PARAM_VALUE | 0 | driver->ops->hangup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->install | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->ioctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->ldisc_ok | 0,6843386834578624512 |
| PARAM_VALUE | 0 | driver->ops->lookup | 0,1028560029362032640,3174408500077174784 |
| PARAM_VALUE | 0 | driver->ops->open | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->poll_get_char | 0,4172584550987694080,8810588628199956480 |
| PARAM_VALUE | 0 | driver->ops->poll_init | 0,1455831725284642816,7005422354281586688 |
| PARAM_VALUE | 0 | driver->ops->poll_put_char | 0,317088091350007808,4944462343817641984 |
| PARAM_VALUE | 0 | driver->ops->proc_show | 0,356236415985979392,5729891321464528896,9011853526131630080 |
| PARAM_VALUE | 0 | driver->ops->put_char | 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184 |
| PARAM_VALUE | 0 | driver->ops->remove | 0,384629141214146560,3489019467251376128 |
| PARAM_VALUE | 0 | driver->ops->resize | 0,2815742157479378944,7598537204212207616 |
| PARAM_VALUE | 0 | driver->ops->send_xchar | 0,2462859047340216320,4708555404674125824,8710759130855649280 |
| PARAM_VALUE | 0 | driver->ops->set_ldisc | 0,1741587377620623360 |
| PARAM_VALUE | 0 | driver->ops->set_serial | 0,1094580457323642880,1874457111024828416,3044275849337626624,4342027950721310720,4577945029913939968,6749800265494245376 |
| PARAM_VALUE | 0 | driver->ops->set_termios | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->show_fdinfo | 0,5525676422896762880 |
| PARAM_VALUE | 0 | driver->ops->shutdown | 0,3518621193109893120,5469287042401259520 |
| PARAM_VALUE | 0 | driver->ops->start | 0,251324532200828928,1038803386632884224,1167599979921588224,1380472159287435264,2505730045728698368 |
| PARAM_VALUE | 0 | driver->ops->stop | 0,550124932249174016,3234480389994364928,5153393563898503168,6441875407016759296,7334840043119542272 |
| PARAM_VALUE | 0 | driver->ops->throttle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->tiocmget | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->tiocmset | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->unthrottle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->wait_until_sent | 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152 |
| PARAM_VALUE | 0 | driver->ops->write | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->write_room | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->owner | 0 |
| PARAM_VALUE | 0 | driver->tty_drivers.next | 4096-ptr_max |
| PARAM_VALUE | 0 | driver->tty_drivers.prev | 2658480706137264128 |
| PARAM_VALUE | 0 | driver->type | 0-3 |
| PARAM_VALUE | 1 | index | 0-s32max |
| BUF_SIZE | 0 | driver | 200 |
| BUF_SIZE | 0 | driver->driver_name | (-1),3-4,7-11 |
| BUF_SIZE | 0 | driver->driver_state | (-1),64 |
| BUF_SIZE | 0 | driver->flip_wq | (-1),512,528-8720 |
| BUF_SIZE | 0 | driver->name | (-1)-s32max |
| BUF_SIZE | 0 | driver->other | (-1),200 |
| CAPPED_DATA | 0 | driver->name | 1 |
| CAPPED_DATA | 0 | driver->num | 1 |
| DATA_SOURCE | 0 | driver | $0 |
| STR_LEN | 0 | driver->driver_name | (-1),2-3,6-10 |
| STR_LEN | 0 | driver->name | (-1),3-9 |
| STR_LEN | 0 | driver->other->driver_name | (-1),10 |
| STR_LEN | 0 | driver->other->name | (-1),3 |
| BIT_INFO | 0 | driver->flags | 0x0,0x1f7 |
| BIT_INFO | 0 | driver->num | 0x0,0x7fffffff |
| HARD_MAX | 0 | driver->type | 3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | driver->num | |
| NO_OVERFLOW_SIMPLE | 0 | driver->other->num | |
| NO_OVERFLOW_SIMPLE | 1 | index | |
| UNITS | 1 | index | unit_array_size |
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | global &goldfish_tty_lock |
drivers/tty/tty_port.c tty_port_unregister_device() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver->ops->break_ctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->chars_in_buffer | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->cleanup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->close | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->compat_ioctl | 0,1607379221601308672,5008286898947497984,6364353445524312064 |
| PARAM_VALUE | 0 | driver->ops->flush_buffer | 0,759512161776693248,1438963212235436032,3037852187181395968,3356400052838694912,4884767172415688704,8736245651927326720,8787202642060013568 |
| PARAM_VALUE | 0 | driver->ops->flush_chars | 0,1052010245467496448,2980791929595514880,3704408163259400192,5936479321816121344,7727514164138360832 |
| PARAM_VALUE | 0 | driver->ops->get_icount | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->get_serial | 0,1330961132715589632,4039553157414182912,4811237459575484416,4871069280902643712,5552263133363023872,6182381990465540096 |
| PARAM_VALUE | 0 | driver->ops->hangup | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->install | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->ioctl | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->ldisc_ok | 0,6843386834578624512 |
| PARAM_VALUE | 0 | driver->ops->lookup | 0,1028560029362032640,3174408500077174784 |
| PARAM_VALUE | 0 | driver->ops->open | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->poll_get_char | 0,4172584550987694080,8810588628199956480 |
| PARAM_VALUE | 0 | driver->ops->poll_init | 0,1455831725284642816,7005422354281586688 |
| PARAM_VALUE | 0 | driver->ops->poll_put_char | 0,317088091350007808,4944462343817641984 |
| PARAM_VALUE | 0 | driver->ops->proc_show | 0,356236415985979392,5729891321464528896,9011853526131630080 |
| PARAM_VALUE | 0 | driver->ops->put_char | 0,46317935159074816,946511232463630336,5234932001147445248,6499862429192966144,7134038662404317184 |
| PARAM_VALUE | 0 | driver->ops->remove | 0,384629141214146560,3489019467251376128 |
| PARAM_VALUE | 0 | driver->ops->resize | 0,2815742157479378944,7598537204212207616 |
| PARAM_VALUE | 0 | driver->ops->send_xchar | 0,2462859047340216320,4708555404674125824,8710759130855649280 |
| PARAM_VALUE | 0 | driver->ops->set_ldisc | 0,1741587377620623360 |
| PARAM_VALUE | 0 | driver->ops->set_serial | 0,1094580457323642880,1874457111024828416,3044275849337626624,4342027950721310720,4577945029913939968,6749800265494245376 |
| PARAM_VALUE | 0 | driver->ops->set_termios | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->show_fdinfo | 0,5525676422896762880 |
| PARAM_VALUE | 0 | driver->ops->shutdown | 0,3518621193109893120,5469287042401259520 |
| PARAM_VALUE | 0 | driver->ops->start | 0,251324532200828928,1038803386632884224,1167599979921588224,1380472159287435264,2505730045728698368 |
| PARAM_VALUE | 0 | driver->ops->stop | 0,550124932249174016,3234480389994364928,5153393563898503168,6441875407016759296,7334840043119542272 |
| PARAM_VALUE | 0 | driver->ops->throttle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->tiocmget | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->tiocmset | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->unthrottle | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->wait_until_sent | 0,2578158375326154752,2614800216018440192,6874988682411192320,7074827580452507648,7916194843820081152 |
| PARAM_VALUE | 0 | driver->ops->write | 0,4096-ptr_max |
| PARAM_VALUE | 0 | driver->ops->write_room | 0,4096-ptr_max |
| BUF_SIZE | 0 | driver | (-1),200 |
| BUF_SIZE | 0 | driver | (-1),200 |
| BUF_SIZE | 0 | driver->driver_name | (-1),7 |
| DATA_SOURCE | 0 | driver | $1 |
| DATA_SOURCE | 1 | index | $2 |
| STR_LEN | 0 | driver->driver_name | (-1),6 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | driver->num | |
| UNITS | 1 | index | unit_array_size |
| HALF_LOCKED2 | _T->lock |
drivers/tty/nozomi.c nozomi_card_init() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 4096-ptr_max |
| PARAM_VALUE | 0 | *driver->cdevs | 0,4096-ptr_max |
| PARAM_VALUE | 0 | *driver->termios | 0 |
| PARAM_VALUE | 1 | index | 0-254 |
| CAPPED_DATA | 0 | driver->num | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/nozomi.c tty_exit() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 0,4096-ptr_max,(-22),(-12) |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex |
drivers/tty/n_gsm.c gsm_register_devices() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 4096-ptr_max |
| PARAM_VALUE | 1 | index | 1-254 |
| NOCHECK_CALL | |||
| LOCK2 | &tty->ldisc_sem | ||
| TYPE_LOCK | (struct tty_struct)->ldisc_sem |
drivers/tty/n_gsm.c gsm_unregister_devices() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 0,4096-ptr_max,(-22),(-12) |
| PARAM_VALUE | 1 | index | 1-255 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &gsm->mutex | ||
| HALF_LOCKED2 | &tty->ldisc_sem | ||
| TYPE_LOCK | (struct gsm_mux)->mutex |
drivers/staging/greybus/uart.c gb_uart_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex |
drivers/tty/goldfish.c goldfish_tty_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | index | 0-s16max,4294934528-u32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_array_size |
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &_dev->mutex |
drivers/usb/host/xhci-dbgtty.c xhci_dbc_tty_unregister_device() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dbc->enable_mutex |
drivers/tty/rpmsg_tty.c rpmsg_tty_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/moxa.c moxa_board_deinit() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 0,4096-ptr_max,(-22),(-12) |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | _T->lock | ||
| HALF_LOCKED2 | &dev->mutex |
drivers/ipack/devices/ipoctal.c __ipoctal_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | index | 0-7 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &device->mutex | ||
| LOCK2 | _T->lock | ||
| TYPE_LOCK | (struct device)->mutex |
drivers/usb/serial/bus.c usb_serial_device_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex |
net/bluetooth/rfcomm/tty.c rfcomm_dev_destruct() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &tty->legacy_mutex | ||
| HALF_LOCKED2 | global &rfcomm_dev_lock | ||
| HALF_LOCKED2 | global &rfcomm_ioctl_mutex |
drivers/usb/class/cdc-acm.c acm_disconnect() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/usb/gadget/function/u_serial.c gserial_free_line() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 1 | index | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/mxser.c mxser_probe() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 4096-ptr_max |
| PARAM_VALUE | 0 | *driver->cdevs | 0,4096-ptr_max |
| PARAM_VALUE | 0 | *driver->termios | 0 |
| PARAM_VALUE | 1 | index | 0-277 |
| CAPPED_DATA | 0 | driver->num | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/tty/mxser.c mxser_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | driver | 0,4096-ptr_max,(-22),(-12) |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/net/usb/hso.c hso_serial_tty_unregister() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/mmc/core/sdio_uart.c sdio_uart_remove() -> tty_unregister_device()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex |