summaryrefslogtreecommitdiff
path: root/include/linux/workqueue_api.h
diff options
context:
space:
mode:
authorCui GaoSheng <cuigaosheng1@huawei.com>2026-09-29 10:31:55 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-10-01 11:09:16 +0200
commitb290393074a149ed2f45da6759c94719c06b48c4 (patch)
tree18b1978dab5462f12bb48f63e8732235a76a9aeb /include/linux/workqueue_api.h
parent90e96a3252cffb3ddd073193dd8e46a9f91b7932 (diff)
serial: core: fix NULL/dangling port_dev on failed re-register
serial8250_unregister_port() removes a port and then re-registers it against the legacy serial8250 device when that device is still present, ignoring the return value of uart_add_one_port(). When the re-register fails, the error path of serial_core_register_port() removes the port device but leaves port->port_dev dangling (or NULL if the port device allocation itself failed). serial8250 matches ports on ->dev, so such half-registered slots still reach serial_core_unregister_port() on the next unbind: KASAN: null-ptr-deref in range [0x40-0x47] RIP: serial_core_unregister_port+0xe5/0xa00 serial8250_unregister_port+0x103 serial8250_remove+0x61 Fix the error path to clear port->port_dev, and bail out of serial_core_unregister_port() when port_dev is NULL. Read port->port_dev under port_mutex, like all of its writers. Fixes: 84a9582fd203 ("serial: core: Start managing serial controllers to enable runtime PM") Assisted-by: LLM Signed-off-by: Cui GaoSheng <cuigaosheng1@huawei.com> Link: https://patch.msgid.link/20260929023155.3259567-1-cuigaosheng1@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/workqueue_api.h')
0 files changed, 0 insertions, 0 deletions