[jirislaby:devel] [serial] 2dd9c2acfb: WARNING:held_lock_freed

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-lkp
Message-ID <[email protected]>

Hello,

kernel test robot noticed "WARNING:held_lock_freed" on:

commit: 2dd9c2acfb03ee7a076cbd16ae9d3ee6f29bcd70 ("serial: drv->state -> xarray")
https://git.kernel.org/cgit/linux/kernel/git/jirislaby/linux.git devel

in testcase: boot

config: i386-randconfig-141-20251214
compiler: clang-20
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+---------------------------------------------------+------------+------------+
|                                                   | bd332738e0 | 2dd9c2acfb |
+---------------------------------------------------+------------+------------+
| WARNING:held_lock_freed                           | 0          | 12         |
| is_freeing_memory#-#,with_a_lock_still_held_there | 0          | 12         |
+---------------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]


[    1.149928][    T1] WARNING: held lock freed!
[    1.150447][    T1] 6.18.0-next-20251209-00027-g2dd9c2acfb03 #1 Not tainted
[    1.150960][    T1] -------------------------
[    1.150960][    T1] swapper/0/1 is freeing memory 43dba800-43dbabff, with a lock still held there!
[    1.150960][    T1] 43dba9ac (&port->mutex){+.+.}-{4:4}, at: serial_core_unregister_port (arch/x86/include/asm/atomic.h:85 include/linux/atomic/atomic-arch-fallback.h:787 include/linux/atomic/atomic-arch-fallback.h:1238 include/linux/atomic/atomic-instrumented.h:611 drivers/tty/serial/serial_core.c:3151 drivers/tty/serial/serial_core.c:3312)
[    1.150960][    T1] 4 locks held by swapper/0/1:
[    1.150960][    T1]  #0: 427e8b40 (&dev->mutex){....}-{4:4}, at: __device_attach (drivers/base/dd.c:1007)
[    1.150960][    T1]  #1: 427e8240 (serial_mutex){+.+.}-{4:4}, at: serial8250_register_8250_port (drivers/tty/serial/8250/8250_core.c:637 drivers/tty/serial/8250/8250_core.c:700)
[    1.150960][    T1]  #2: 427e7930 (port_mutex){+.+.}-{4:4}, at: serial_core_unregister_port (drivers/tty/serial/serial_core.c:3310)
[    1.150960][    T1]  #3: 43dba9ac (&port->mutex){+.+.}-{4:4}, at: serial_core_unregister_port (arch/x86/include/asm/atomic.h:85 include/linux/atomic/atomic-arch-fallback.h:787 include/linux/atomic/atomic-arch-fallback.h:1238 include/linux/atomic/atomic-instrumented.h:611 drivers/tty/serial/serial_core.c:3151 drivers/tty/serial/serial_core.c:3312)
[    1.150960][    T1]
[    1.150960][    T1] stack backtrace:
[    1.150960][    T1] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.18.0-next-20251209-00027-g2dd9c2acfb03 #1 PREEMPT(none)
[    1.150960][    T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    1.150960][    T1] Call Trace:
[    1.150960][    T1]  ? __dump_stack (lib/dump_stack.c:95)
[    1.150960][    T1]  ? dump_stack_lvl (lib/dump_stack.c:123)
[    1.150960][    T1]  ? vprintk (kernel/printk/printk_safe.c:82)
[    1.150960][    T1]  ? dump_stack (lib/dump_stack.c:129)
[    1.150960][    T1]  ? debug_check_no_locks_freed (kernel/locking/lockdep.c:6695 kernel/locking/lockdep.c:6728)
[    1.150960][    T1]  ? serial_core_unregister_port (include/linux/mutex.h:253 drivers/tty/serial/serial_core.c:3114 drivers/tty/serial/serial_core.c:3312)
[    1.150960][    T1]  ? kfree (mm/slub.c:6671 mm/slub.c:6876)
[    1.150960][    T1]  ? serial_core_unregister_port (include/linux/mutex.h:253 drivers/tty/serial/serial_core.c:3114 drivers/tty/serial/serial_core.c:3312)
[    1.150960][    T1]  ? serial_ctrl_unregister_port (drivers/tty/serial/serial_ctrl.c:47)
[    1.150960][    T1]  ? uart_remove_one_port (drivers/tty/serial/serial_port.c:150)
[    1.150960][    T1]  ? serial8250_register_8250_port (drivers/tty/serial/8250/8250_core.c:719)
[    1.150960][    T1]  ? serial8250_probe (include/linux/err.h:78 drivers/tty/serial/8250/8250_platform.c:196 drivers/tty/serial/8250/8250_platform.c:218)
[    1.150960][    T1]  ? platform_probe (drivers/base/platform.c:?)
[    1.150960][    T1]  ? really_probe (drivers/base/dd.c:583 drivers/base/dd.c:659)
[    1.150960][    T1]  ? __driver_probe_device (drivers/base/dd.c:801)
[    1.150960][    T1]  ? driver_probe_device (drivers/base/dd.c:831)
[    1.150960][    T1]  ? platform_match (drivers/base/platform.c:?)
[    1.150960][    T1]  ? __device_attach_driver (drivers/base/dd.c:960)
[    1.150960][    T1]  ? bus_for_each_drv (drivers/base/bus.c:500)
[    1.150960][    T1]  ? __pm_runtime_resume (drivers/base/power/runtime.c:1200)
[    1.150960][    T1]  ? __device_attach (drivers/base/dd.c:1031)
[    1.150960][    T1]  ? deferred_devs_show (drivers/base/dd.c:923)
[    1.150960][    T1]  ? device_initial_probe (drivers/base/dd.c:?)
[    1.150960][    T1]  ? bus_probe_device (drivers/base/bus.c:576)
[    1.150960][    T1]  ? device_add (drivers/base/core.c:3696)
[    1.150960][    T1]  ? dev_set_name (drivers/base/core.c:3494)
[    1.150960][    T1]  ? platform_device_add (drivers/base/platform.c:757)
[    1.150960][    T1]  ? platform_device_register (drivers/base/platform.c:820)
[    1.150960][    T1]  ? exar_init (drivers/tty/serial/8250/8250_exar_st16c554.c:33)
[    1.150960][    T1]  ? do_one_initcall (init/main.c:1378)
[    1.150960][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    1.150960][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    1.150960][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:272 kernel/sched/clock.c:309)
[    1.150960][    T1]  ? __lock_acquire (kernel/locking/lockdep.c:4674 kernel/locking/lockdep.c:5191)
[    1.150960][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    1.150960][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    1.150960][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:272 kernel/sched/clock.c:309)
[    1.150960][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    1.150960][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    1.150960][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:272 kernel/sched/clock.c:309)
[    1.150960][    T1]  ? local_clock (arch/x86/include/asm/preempt.h:95 kernel/sched/clock.c:319)
[    1.150960][    T1]  ? irqtime_account_irq (kernel/sched/cputime.c:?)
[    1.150960][    T1]  ? irqtime_account_delta (include/linux/seqlock.h:452 include/linux/seqlock.h:524 include/linux/u64_stats_sync.h:152 include/linux/u64_stats_sync.h:188 kernel/sched/cputime.c:49)
[    1.150960][    T1]  ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:80)
[    1.150960][    T1]  ? irqentry_exit (kernel/entry/common.c:?)
[    1.150960][    T1]  ? common_interrupt (arch/x86/kernel/irq.c:319)
[    1.150960][    T1]  ? asm_common_interrupt (arch/x86/include/asm/idtentry.h:688)
[    1.150960][    T1]  ? strlen (arch/x86/lib/string_32.c:?)
[    1.150960][    T1]  ? next_arg (lib/cmdline.c:273)
[    1.150960][    T1]  ? parameq (kernel/params.c:90 kernel/params.c:99)
[    1.150960][    T1]  ? exar_pci_driver_init (drivers/tty/serial/8250/8250_exar_st16c554.c:32)
[    1.150960][    T1]  ? do_initcall_level (init/main.c:1439)
[    1.150960][    T1]  ? do_initcalls (init/main.c:1453)
[    1.150960][    T1]  ? rest_init (init/main.c:1570)
[    1.150960][    T1]  ? do_basic_setup (init/main.c:1476)
[    1.150960][    T1]  ? kernel_init_freeable (init/main.c:1690)
[    1.150960][    T1]  ? kernel_init (init/main.c:1580)
[    1.150960][    T1]  ? ret_from_fork (arch/x86/kernel/process.c:164)
[    1.150960][    T1]  ? __switch_to_asm (arch/x86/entry/entry_32.S:704)
[    1.150960][    T1]  ? __switch_to_asm (arch/x86/entry/entry_32.S:704)
[    1.150960][    T1]  ? rest_init (init/main.c:1570)
[    1.150960][    T1]  ? ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[    1.150960][    T1]  ? entry_INT80_32 (arch/x86/entry/entry_32.S:945)
[    1.368042][    T1] CHRDEV "ttyARC" minor range requested (0-4294967294) is out of range of maximum range (0-1048575) for a single major
[    1.369474][    T1] CHRDEV "ttyLP" minor range requested (0-4294967294) is out of range of maximum range (0-1048575) for a single major
[    1.370859][    T1] CHRDEV "ttySIF" minor range requested (0-4294967294) is out of range of maximum range (0-1048575) for a single major
[    1.385171][    T1] Rounding down aligned max_sectors from 4294967295 to 4294967288
[    1.387226][    T1] db_root: cannot open: /etc/target



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20251217/[email protected]



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.