lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211219132044.GF14057@xsang-OptiPlex-9020>
Date:   Sun, 19 Dec 2021 21:20:44 +0800
From:   kernel test robot <oliver.sang@...el.com>
To:     Waiman Long <longman@...hat.com>
Cc:     0day robot <lkp@...el.com>, LKML <linux-kernel@...r.kernel.org>,
        lkp@...ts.01.org, Johannes Weiner <hannes@...xchg.org>,
        Michal Hocko <mhocko@...nel.org>,
        Vladimir Davydov <vdavydov.dev@...il.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        cgroups@...r.kernel.org, linux-mm@...ck.org,
        Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Thomas Gleixner <tglx@...utronix.de>,
        Waiman Long <longman@...hat.com>
Subject: [mm/memcg]  3928ba024a: WARNING:possible_recursive_locking_detected



Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: 3928ba024a93a8556532c3c53e651169be83c061 ("[PATCH-next v3] mm/memcg: Properly handle memcg_stock access for PREEMPT_RT")
url: https://github.com/0day-ci/linux/commits/Waiman-Long/mm-memcg-Properly-handle-memcg_stock-access-for-PREEMPT_RT/20211214-224558
patch link: https://lore.kernel.org/lkml/20211214144412.447035-1-longman@redhat.com

in testcase: boot

on test machine: qemu-system-x86_64 -enable-kvm -cpu Icelake-Server -smp 4 -m 16G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):



If you fix the issue, kindly add following tag
Reported-by: kernel test robot <oliver.sang@...el.com>


[    9.553151][    C0] WARNING: possible recursive locking detected
[    9.553540][    C0] 5.16.0-rc5-00001-g3928ba024a93 #1 Not tainted
[    9.553934][    C0] --------------------------------------------
[    9.554331][    C0] ksoftirqd/0/12 is trying to acquire lock:
[ 9.554690][ C0] ffffffffad262940 (&stock->lock){..-.}-{2:2}, at: local_lock_acquire (include/linux/local_lock_internal.h:28) 
[    9.555355][    C0]
[    9.555355][    C0] but task is already holding lock:
[ 9.555804][ C0] ffffffffad262940 (&stock->lock){..-.}-{2:2}, at: local_lock_acquire (include/linux/local_lock_internal.h:28) 
[    9.556418][    C0]
[    9.556418][    C0] other info that might help us debug this:
[    9.556917][    C0]  Possible unsafe locking scenario:
[    9.556917][    C0]
[    9.557370][    C0]        CPU0
[    9.557570][    C0]        ----
[    9.557771][    C0]   lock(&stock->lock);
[    9.558026][    C0]   lock(&stock->lock);
[    9.558280][    C0]
[    9.558280][    C0]  *** DEADLOCK ***
[    9.558280][    C0]
[    9.558780][    C0]  May be due to missing lock nesting notation
[    9.558780][    C0]
[    9.559305][    C0] 2 locks held by ksoftirqd/0/12:
[ 9.559611][ C0] #0: ffffffffad221580 (rcu_callback){....}-{0:0}, at: rcu_process_callbacks (kernel/rcu/tiny.c:129) 
[ 9.560212][ C0] #1: ffffffffad262940 (&stock->lock){..-.}-{2:2}, at: local_lock_acquire (include/linux/local_lock_internal.h:28) 
[    9.560848][    C0]
[    9.560848][    C0] stack backtrace:
[    9.561207][    C0] CPU: 0 PID: 12 Comm: ksoftirqd/0 Not tainted 5.16.0-rc5-00001-g3928ba024a93 #1
[    9.561764][    C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[    9.562329][    C0] Call Trace:
[    9.562553][    C0]  <TASK>
[ 9.562736][ C0] validate_chain (kernel/locking/lockdep.c:3790) 
[ 9.563035][ C0] __lock_acquire (kernel/locking/lockdep.c:5027) 
[ 9.563325][ C0] lock_acquire (kernel/locking/lockdep.c:438 kernel/locking/lockdep.c:5639) 
[ 9.563604][ C0] ? put_obj_stock (include/linux/local_lock_internal.h:29) 
[ 9.563889][ C0] ? find_held_lock (kernel/locking/lockdep.c:5130) 
[ 9.564181][ C0] ? get_obj_stock (include/linux/rcupdate.h:273 include/linux/rcupdate.h:721) 
[ 9.564466][ C0] local_lock_acquire (include/linux/local_lock_internal.h:30) 
[ 9.564830][ C0] ? put_obj_stock (include/linux/local_lock_internal.h:29) 
[ 9.565115][ C0] refill_stock (mm/memcontrol.c:2215 (discriminator 3)) 
[ 9.565383][ C0] obj_cgroup_uncharge_pages (mm/memcontrol.c:2996) 
[ 9.565719][ C0] drain_obj_stock (arch/x86/include/asm/atomic.h:53 include/linux/atomic/atomic-instrumented.h:56 mm/memcontrol.c:3173) 
[ 9.566005][ C0] refill_obj_stock (include/linux/percpu-refcount.h:222 include/linux/memcontrol.h:825 mm/memcontrol.c:3228) 
[ 9.566297][ C0] memcg_slab_free_hook (mm/slab.h:207 mm/slab.h:365) 
[ 9.566608][ C0] ? rcu_process_callbacks (include/linux/rcupdate.h:273 kernel/rcu/tiny.c:102 kernel/rcu/tiny.c:133) 
[ 9.566952][ C0] kmem_cache_free (mm/slub.c:3446 mm/slub.c:3514 mm/slub.c:3530) 
[ 9.567250][ C0] ? free_inode_nonrcu (fs/inode.c:221) 
[ 9.567556][ C0] rcu_process_callbacks (include/linux/rcupdate.h:273 kernel/rcu/tiny.c:102 kernel/rcu/tiny.c:133) 
[ 9.567880][ C0] __do_softirq (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:212 include/trace/events/irq.h:142 kernel/softirq.c:559) 
[ 9.568158][ C0] ? sort_range (kernel/smpboot.c:107) 
[ 9.568426][ C0] run_ksoftirqd (kernel/softirq.c:412 kernel/softirq.c:922) 
[ 9.568700][ C0] smpboot_thread_fn (kernel/smpboot.c:164 (discriminator 4)) 
[ 9.569003][ C0] kthread (kernel/kthread.c:329) 
[ 9.569252][ C0] ? set_kthread_struct (kernel/kthread.c:272) 
[ 9.569562][ C0] ret_from_fork (arch/x86/entry/entry_64.S:301) 
[    9.569838][    C0]  </TASK>
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
Starting Preprocess NFS configuration...
Starting udev Kernel Device Manager...
[  OK  ] Started Create Volatile Files and Directories.
[  OK  ] Started Preprocess NFS configuration.
[  OK  ] Reached target NFS client services.
Starting RPC bind portmap service...
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started RPC bind portmap service.
[  OK  ] Started udev Coldplug all Devices.
Starting Helper to synchronize boot up for ifupdown...
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target RPC Port Mapper.
[  OK  ] Started Helper to synchronize boot up for ifupdown.
[FAILED] Failed to start Update UTMP about System Boot/Shutdown.
See 'systemctl status systemd-update-utmp.service' for details.
Starting Raise network interfaces...
[  OK  ] Started Raise network interfaces.
[  OK  ] Reached target Network.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Regular background program processing daemon.
Starting LKP bootstrap...
[    9.728013][    C0] random: fast init done
Starting System Logging Service...
Starting LSB: OpenIPMI Driver init script...
Starting Login Service...
Starting OpenBSD Secure Shell server...
[  OK  ] Started D-Bus System Message Bus.
[    9.776118][  T219] random: dbus-daemon: uninitialized urandom read (12 bytes read)
[    9.778254][  T219] random: dbus-daemon: uninitialized urandom read (12 bytes read)
Starting Permit User Sessions...
Starting /etc/rc.local Compatibility...


To reproduce:

        # build kernel
	cd linux
	cp config-5.16.0-rc5-00001-g3928ba024a93 .config
	make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage modules
	make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 INSTALL_MOD_PATH=<mod-install-dir> modules_install
	cd <mod-install-dir>
	find lib/ | cpio -o -H newc --quiet | gzip > modules.cgz


        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> -m modules.cgz job-script # job-script is attached in this email

        # if come across any failure that blocks the test,
        # please remove ~/.lkp and /lkp dir to run from a clean state.



---
0DAY/LKP+ Test Infrastructure                   Open Source Technology Center
https://lists.01.org/hyperkitty/list/lkp@lists.01.org       Intel Corporation

Thanks,
Oliver Sang


View attachment "config-5.16.0-rc5-00001-g3928ba024a93" of type "text/plain" (133587 bytes)

View attachment "job-script" of type "text/plain" (5092 bytes)

Download attachment "dmesg.xz" of type "application/x-xz" (13708 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ