getcwd() rcu locking bug.

Dave Jones
2013-11-13T17:47:21Z

My fuzzer just hit this on v3.12-7033-g42a2d923cc34

=====================================
[ BUG: bad unlock balance detected! ]
3.12.0+ #2 Not tainted
-------------------------------------
trinity-child1/11681 is trying to release lock (rcu_read_lock) at:
[<ffffffff811d287c>] SyS_getcwd+0x11c/0x300
but there are no more locks to release!

other info that might help us debug this:
no locks held by trinity-child1/11681.

stack backtrace:
CPU: 1 PID: 11681 Comm: trinity-child1 Not tainted 3.12.0+ #2
ffffffff81c480a0 ffff88009a40fea0 ffffffff8171b3dc ffff8802399b1560
ffff88009a40fec8 ffffffff810d370e ffff8802399b1560 ffffffff81c480a0
ffffffff811d287c ffff88009a40ff00 ffffffff810d80fe ffff88023d2d4600
Call Trace:
[<ffffffff8171b3dc>] dump_stack+0x4e/0x7a
[<ffffffff810d370e>] print_unlock_imbalance_bug+0xee/0x100
[<ffffffff811d287c>] ? SyS_getcwd+0x11c/0x300
[<ffffffff810d80fe>] lock_release+0x25e/0x310
[<ffffffff811d2894>] SyS_getcwd+0x134/0x300
[<ffffffff811d2799>] ? SyS_getcwd+0x39/0x300
[<ffffffff8172e064>] tracesys+0xdd/0xe2
------------[ cut here ]------------