BUG: cgroup_task_counter subsys may crash with whole-threadgroupmove

From: Ben Blum
Date: Thu Oct 13 2011 - 20:09:27 EST


I was testing some patches for cgroup_attach_proc and managed to cause a
crash with the following usage pattern:

mount -t cgroup none -o tasks /dev/cgroup
cd /dev/cgroup
mkdir foo
echo $PID > foo/cgroup.procs
echo $PID > tasks
echo $PID > foo/cgroup.procs

Where $PID is the thread ID of a member of a multithreaded process (my
test program just does CLONE_THREAD 8 times and then all threads sleep).
(It doesn't matter if the thread is the group leader or not, but a
single-threaded process doesn't crash.)

And get the following kernel panic:
http://maximegalon.andrew.cmu.edu/cgroup-taskstats/panic.txt

It's deterministic, and happens only when the "tasks" subsystem is
mounted.

I'm using user-mode linux to test, with the following config:
http://maximegalon.andrew.cmu.edu/cgroup-taskstats/config.txt

and I ran it in GDB to get the following backtrace:
http://maximegalon.andrew.cmu.edu/cgroup-taskstats/bt.txt

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/