u-boot-brain/common
Andy Shevchenko eb5fd9e46c usb: kbd: destroy device after console is stopped
In case of IOMUX enabled it assumes that console devices in the list
are available to get them stopped properly via ->stop() callback.
However, the USB keyboard driver violates this assumption and tries
to play tricks so the device get destroyed while being listed as
an active console.

Swap the order of device deregistration and IOMUX update along with
converting to use iomux_replace_device() jelper to avoid the use-after-free.

Fixes: 3cbcb28928 ("usb: Fix usb_kbd_deregister when console-muxing is used")
Fixes: 8a83487030 ("dm: usb: Add a remove() method for USB keyboards")
Reported-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2021-02-16 11:16:08 -05:00
..
eeprom SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
init common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
spl common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
android_ab.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
autoboot.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
avb_verify.c avb: Make AVB independent of fastboot 2020-08-24 14:11:13 -04:00
bedbug.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
bloblist.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
board_f.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
board_info.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
board_r.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
boot_fit.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bootm_os.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bootm.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bootretry.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
bootstage.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bouncebuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli_hush.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_readline.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_simple.c cli: Support macro processing with a fixed-size buffer 2020-12-04 16:10:01 -05:00
cli.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
command.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
common_fit.c common: fit: add missing newline 2020-11-19 09:45:49 -05:00
console.c IOMUX: Split out for_each_console_dev() helper macro 2021-02-16 11:16:08 -05:00
cros_ec.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ddr_spd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c dfu: add support for the dfu_alt_info reintialization from the flashed script 2021-01-31 14:08:56 +01:00
dlmalloc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
exports.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fdt_region.c fdt_region: Check for a single root node of the correct name 2021-02-15 19:17:18 -05:00
fdt_support.c fdt: translate address if #size-cells = <0> 2021-01-12 10:58:05 +05:30
flash.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
hash.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
hwconfig.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-android-dt.c common: image-android-dt: Fix logic in print fdt info routine 2019-08-07 15:31:05 -04:00
image-android.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-cipher.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-fdt.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
image-fit-sig.c fit: Don't allow verification of images with @ nodes 2021-02-15 19:17:25 -05:00
image-fit.c image: Check for unit addresses in FITs 2021-02-15 22:31:54 -05:00
image-sig.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
iomux.c IOMUX: Introduce iomux_replace_device() 2021-02-16 11:16:08 -05:00
iotrace.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig avb: AVB_VERIFY depends on MMC 2021-01-29 10:36:48 -05:00
Kconfig.boot image: Add an option to do a full check of the FIT 2021-02-15 22:31:53 -05:00
kgdb_stubs.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
kgdb.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
lcd_console_rotation.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lcd_console.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lcd_simplefb.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
lcd.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
log_console.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
log_syslog.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
log.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
lynxkdi.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
main.c efi_loader: capsule: add capsule_on_disk support 2020-12-03 21:22:49 +01:00
Makefile common: Makefile: drop duplicated line 2021-01-16 14:49:09 -05:00
malloc_simple.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
memsize.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
menu.c menu: add support for client defined statusline function 2020-05-07 09:01:42 -04:00
miiphyutil.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
s_record.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
splash_source.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
splash.c splash: Fix build warning on 64 bits CPU 2020-06-28 01:03:09 +02:00
stdio.c stdio: Introduce a new helper stdio_file_to_flags() 2021-02-16 11:16:07 -05:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
usb_hub.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
usb_kbd.c usb: kbd: destroy device after console is stopped 2021-02-16 11:16:08 -05:00
usb_storage.c Xilinx changes for v2021.04 2021-01-06 07:57:33 -05:00
usb.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
xyzModem.c common: rename getc() to getchar() 2020-10-22 09:54:53 -04:00