diff mbox series

stack leak via uart_get_info() ?

Message ID 967b9ef1-fb36-48bf-9e6a-1b99af24c052@p183
State New
Headers show
Series stack leak via uart_get_info() ? | expand

Commit Message

Alexey Dobriyan Oct. 5, 2023, 4:34 p.m. UTC
If this check ever triggers

	static int uart_get_info(struct tty_port *port, struct serial_struct *retinfo)
	{

		uport = uart_port_check(state);
	        if (!uport)
	                goto out;

then all those sysfs users will print stack contents to userspace.

Can it trigger while sysfs read is executing?


Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
diff mbox series

Patch

--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -775,6 +775,8 @@  static int uart_get_info(struct tty_port *port, struct serial_struct *retinfo)
 	struct uart_port *uport;
 	int ret = -ENODEV;
 
+	*retinfo = (struct serial_struct){};
+
 	/*
 	 * Ensure the state we copy is consistent and no hardware changes
 	 * occur as we go