[PATCH] swapfile.c

From: Andries.Brouwer@cwi.nl
Date: Sat Mar 02 2002 - 16:25:16 EST


In 2.5.2 swapfile.c was broken:
In sys_swapon() we see

        swap_file = filp_open(name, O_RDWR, 0);
        if (IS_ERR(swap_file))
                goto bad_swap_2;

bad_swap_2:
        ...
        if (swap_file)
                filp_close(swap_file, NULL);

and this oopses the kernel.
Below a trivial fix. Somebody with more time may come
back and polish stuff a little.

Andries

--- swapfile.c~ Sat Mar 2 18:23:19 2002
+++ swapfile.c Sun Mar 3 23:08:48 2002
@@ -905,8 +905,10 @@
         swap_file = filp_open(name, O_RDWR, 0);
         putname(name);
         error = PTR_ERR(swap_file);
- if (IS_ERR(swap_file))
+ if (IS_ERR(swap_file)) {
+ swap_file = NULL;
                 goto bad_swap_2;
+ }
 
         p->swap_file = swap_file;
 

[this was a patch relative to 2.5.6-pre2]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:24 EST