[openwrt/openwrt] uml: disable kmod-8250-serial

LEDE Commits lede-commits at lists.infradead.org
Wed May 28 09:23:44 PDT 2025


chunkeey pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/67e41d8a34d15b0d870875c44a431ed70109bbc4

commit 67e41d8a34d15b0d870875c44a431ed70109bbc4
Author: Christian Lamparter <chunkeey at gmail.com>
AuthorDate: Sat Apr 26 10:02:53 2025 +0200

    uml: disable kmod-8250-serial
    
    The driver tries to access ioports (0x2f9!!) which UML doesn't have.
    This causes lots of warnings to appear on boot:
    
    | WARNING: CPU: 0 PID: 1 at lib/logic_iomem.c:188 serial8250_config_port+0x20a/0x1260
    | Invalid writeqb of 0xff at address 2f9
    | Modules linked in:
    | CPU: 0 UID: 0 PID: 1 Comm: swapper Tainted: G        W          6.12.25 #0
    | Tainted: [W]=WARN
    | Stack:
    | Call Trace:
    |  [<60001000>] ? set_reset_devices+0x0/0x16
    |  [<60452cba>] ? serial8250_config_port+0x20a/0x1260
    |  [<6071e91f>] ? dump_stack_lvl+0x55/0x71
    |  [<606e127c>] ? _printk+0x0/0x4f
    |  [<60044bbb>] ? __warn+0x11b/0x120
    |  [<6003b5d0>] ? um_set_signals+0x0/0x40
    |  [<606de721>] ? warn_slowpath_fmt+0x81/0x8c
    |  [<606de6a0>] ? warn_slowpath_fmt+0x0/0x8c
    |  [<60452cba>] ? serial8250_config_port+0x20a/0x1260
    
    (they are even recursive!)
    
    Now, the situation gets more confusing. Because from what I can tell,
    this was seemingly done intenionally. Upstream patches in related areas:
    
    |commit ddd268c42871b78c75e12a5c28207fb481138f41
    |Author: Niklas Schnelle <schnelle at linux.ibm.com>
    |Date:   Wed Apr 3 14:43:00 2024 +0200
    |
    |    um: Select HAS_IOREMAP for UML_IOMEM_EMULATION
    |
    |    In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
    |    compile time. UML supports these via its UML_IOMEM_EMULATION so let that
    |    select HAS_IOPORT and also reflect this in NO_IOPORT_MAP.
    
    hint that there's ongoing work in this area. But unfortunately, this future
    hasn't arrived yet. Once this future arrives, please nuke this patch.
    
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 package/kernel/linux/modules/other.mk | 1 +
 target/linux/uml/config-6.12          | 1 +
 2 files changed, 2 insertions(+)

diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk
index 8da6216cbf..61e395813b 100644
--- a/package/kernel/linux/modules/other.mk
+++ b/package/kernel/linux/modules/other.mk
@@ -563,6 +563,7 @@ $(eval $(call KernelPackage,reed-solomon))
 define KernelPackage/serial-8250
   SUBMENU:=$(OTHER_MENU)
   TITLE:=8250 UARTs
+  DEPENDS:=@!TARGET_uml
   KCONFIG:= CONFIG_SERIAL_8250 \
 	CONFIG_SERIAL_8250_PCI \
 	CONFIG_SERIAL_8250_NR_UARTS=16 \
diff --git a/target/linux/uml/config-6.12 b/target/linux/uml/config-6.12
index 273c10ea4f..d4f42f88b0 100644
--- a/target/linux/uml/config-6.12
+++ b/target/linux/uml/config-6.12
@@ -107,6 +107,7 @@ CONFIG_RANDSTRUCT_NONE=y
 CONFIG_RD_BZIP2=y
 CONFIG_RD_GZIP=y
 CONFIG_RELAY=y
+# CONFIG_SERIAL_8250 is not set
 CONFIG_SG_POOL=y
 CONFIG_SOFT_WATCHDOG=m
 CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y




More information about the lede-commits mailing list