rwsem: backport from Linux 3.10