It's a guideline. There are cases where it's OK, but you have
to understand in detail how the kernel works to be sure you're
safe doing so. A common case where you'd need to do it is where
you need to avoid two or more threads simultaneously allocating
a single shared data structure which is done on the first pass
through a code path.
If you cite an example that concerns you, someone might comment
on it.
--
Andrew Gabriel
[email address is not usable -- followup in the newsgroup]