[PATCH 0/2] Console/stdio use after free
    Nicolas Saenz Julienne 
    nsaenzjulienne at suse.de
       
    Wed Jan 20 15:04:52 CET 2021
    
    
  
With today's master, 70c2525c0d3c ('IOMUX: Stop dropped consoles')
introduces a use after free in usb_kbd_remove():
- usbkbd's stdio device is de-registered with stdio_deregister_dev(),
  the struct stdio_dev is freed.
- iomux_doenv() is called, usbkbd removed from the console list, and
  console_stop() is called on the struct stdio_dev pointer that no
  longer exists.
This series mitigates this by making sure the pointer is really a stdio
device prior performing the stop operation. It's not ideal, but I
couldn't figure out a nicer way to fix this.
Regards,
Nicolas
---
Nicolas Saenz Julienne (2):
  stdio: Introduce stdio_valid()
  console: Don't start/stop console if stdio device invalid
 common/console.c    |  3 +++
 common/stdio.c      | 11 +++++++++++
 include/stdio_dev.h |  1 +
 3 files changed, 15 insertions(+)
-- 
2.30.0
    
    
More information about the U-Boot
mailing list