|
@@ -1848,7 +1848,6 @@ static struct swap_info_struct *alloc_swap_info(void)
|
|
|
{
|
|
|
struct swap_info_struct *p;
|
|
|
unsigned int type;
|
|
|
- int error;
|
|
|
|
|
|
p = kzalloc(sizeof(*p), GFP_KERNEL);
|
|
|
if (!p)
|
|
@@ -1859,11 +1858,10 @@ static struct swap_info_struct *alloc_swap_info(void)
|
|
|
if (!(swap_info[type]->flags & SWP_USED))
|
|
|
break;
|
|
|
}
|
|
|
- error = -EPERM;
|
|
|
if (type >= MAX_SWAPFILES) {
|
|
|
spin_unlock(&swap_lock);
|
|
|
kfree(p);
|
|
|
- goto out;
|
|
|
+ return ERR_PTR(-EPERM);
|
|
|
}
|
|
|
if (type >= nr_swapfiles) {
|
|
|
p->type = type;
|
|
@@ -1889,9 +1887,6 @@ static struct swap_info_struct *alloc_swap_info(void)
|
|
|
spin_unlock(&swap_lock);
|
|
|
|
|
|
return p;
|
|
|
-
|
|
|
-out:
|
|
|
- return ERR_PTR(error);
|
|
|
}
|
|
|
|
|
|
SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
|