Thank you for the report! On Thu 05-03-20 13:52:03, brookxu wrote: > One eventfd monitors multiple memory thresholds of cgroup, closing it, the > system will delete related events. Before all events are deleted, another > eventfd monitors the cgroup's memory threshold. Could you describe the race scenario please? Ideally > > As a result, thresholds->primary[] is not empty, but thresholds->sparse[] > is NULL, __mem_cgroup_usage_unregister_event() leading to a crash: > > [ 138.925809] BUG: unable to handle kernel NULL pointer dereference at 0000000000000004 > [ 138.926817] IP: [<ffffffff8116c9b7>] mem_cgroup_usage_unregister_event+0xd7/0x1f0 > [ 138.927701] PGD 73bce067 PUD 76ff3067 PMD 0 > [ 138.928384] Oops: 0002 [#1] SMP > [ 138.935218] CPU: 1 PID: 14 Comm: kworker/1:0 Not tainted 3.10.107-1-tlinux2-0047 #1 Also you seem to be running a very old kernel. Does the problem exist in the current Vanilla kernel? -- Michal Hocko SUSE Labs