crypto: drbg - reseed 'nopr' drbgs periodically from get_random_bytes()
[linux-2.6-block.git] / mm / mprotect.c
index 883e2cc85cad84ad0e67822b8ac22a0ecbae9aee..e552f5e0ccbded82e503eba25f45b8a3a938c2c2 100644 (file)
@@ -563,7 +563,7 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
        error = -ENOMEM;
        if (!vma)
                goto out;
-       prev = vma->vm_prev;
+
        if (unlikely(grows & PROT_GROWSDOWN)) {
                if (vma->vm_start >= end)
                        goto out;
@@ -581,8 +581,11 @@ static int do_mprotect_pkey(unsigned long start, size_t len,
                                goto out;
                }
        }
+
        if (start > vma->vm_start)
                prev = vma;
+       else
+               prev = vma->vm_prev;
 
        for (nstart = start ; ; ) {
                unsigned long mask_off_old_flags;