Corner cases are not a problem as long as the risk of them going unnoticed is
lower than the risk of a manual conversion introducing bugs.
Not a problem even if there's any such usage left: lockdep will sort those out
very quickly.
This too will be mapped out very quickly via lockdep.
This is a real issue, and in fact it's an unknown: there may be an unknown
number of random sleep points within BKL codepaths that is being relied on in
creative ways.
Note that by introducing a mutex we (in most cases) make the locking
_stricter_, so the biggest risk from that is a lockup - which will be
debuggable via lockdep.
Ingo
--