diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/swapfile.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c index 058a9dfefefd..10f2b33805f6 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c | |||
@@ -2074,6 +2074,10 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) | |||
2074 | goto bad_swap; | 2074 | goto bad_swap; |
2075 | } | 2075 | } |
2076 | 2076 | ||
2077 | error = swap_cgroup_swapon(p->type, maxpages); | ||
2078 | if (error) | ||
2079 | goto bad_swap; | ||
2080 | |||
2077 | nr_good_pages = maxpages - 1; /* omit header page */ | 2081 | nr_good_pages = maxpages - 1; /* omit header page */ |
2078 | 2082 | ||
2079 | for (i = 0; i < swap_header->info.nr_badpages; i++) { | 2083 | for (i = 0; i < swap_header->info.nr_badpages; i++) { |
@@ -2088,10 +2092,6 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) | |||
2088 | } | 2092 | } |
2089 | } | 2093 | } |
2090 | 2094 | ||
2091 | error = swap_cgroup_swapon(p->type, maxpages); | ||
2092 | if (error) | ||
2093 | goto bad_swap; | ||
2094 | |||
2095 | if (nr_good_pages) { | 2095 | if (nr_good_pages) { |
2096 | swap_map[0] = SWAP_MAP_BAD; | 2096 | swap_map[0] = SWAP_MAP_BAD; |
2097 | p->max = maxpages; | 2097 | p->max = maxpages; |