srmcons: fix kmalloc(GFP_KERNEL) inside spinlock
Andrew Morton [Sun, 6 May 2007 21:50:39 +0000 (14:50 -0700)]
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8341

Cc: <matthias.kaehlcke@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

arch/alpha/kernel/srmcons.c

index 7569232..85a821a 100644 (file)
@@ -164,9 +164,9 @@ srmcons_get_private_struct(struct srmcons_private **ps)
        int retval = 0;
 
        if (srmconsp == NULL) {
+               srmconsp = kmalloc(sizeof(*srmconsp), GFP_KERNEL);
                spin_lock_irqsave(&srmconsp_lock, flags);
 
-               srmconsp = kmalloc(sizeof(*srmconsp), GFP_KERNEL);
                if (srmconsp == NULL)
                        retval = -ENOMEM;
                else {