diff options
Diffstat (limited to 'mm/swapfile.c')
-rw-r--r-- | mm/swapfile.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c index 8c6b3ce38f09..d537d29e9b7b 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/syscalls.h> | 31 | #include <linux/syscalls.h> |
32 | #include <linux/memcontrol.h> | 32 | #include <linux/memcontrol.h> |
33 | #include <linux/poll.h> | 33 | #include <linux/poll.h> |
34 | #include <linux/oom.h> | ||
34 | 35 | ||
35 | #include <asm/pgtable.h> | 36 | #include <asm/pgtable.h> |
36 | #include <asm/tlbflush.h> | 37 | #include <asm/tlbflush.h> |
@@ -1555,6 +1556,7 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile) | |||
1555 | struct address_space *mapping; | 1556 | struct address_space *mapping; |
1556 | struct inode *inode; | 1557 | struct inode *inode; |
1557 | char *pathname; | 1558 | char *pathname; |
1559 | int oom_score_adj; | ||
1558 | int i, type, prev; | 1560 | int i, type, prev; |
1559 | int err; | 1561 | int err; |
1560 | 1562 | ||
@@ -1613,9 +1615,9 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile) | |||
1613 | p->flags &= ~SWP_WRITEOK; | 1615 | p->flags &= ~SWP_WRITEOK; |
1614 | spin_unlock(&swap_lock); | 1616 | spin_unlock(&swap_lock); |
1615 | 1617 | ||
1616 | current->flags |= PF_OOM_ORIGIN; | 1618 | oom_score_adj = test_set_oom_score_adj(OOM_SCORE_ADJ_MAX); |
1617 | err = try_to_unuse(type); | 1619 | err = try_to_unuse(type); |
1618 | current->flags &= ~PF_OOM_ORIGIN; | 1620 | test_set_oom_score_adj(oom_score_adj); |
1619 | 1621 | ||
1620 | if (err) { | 1622 | if (err) { |
1621 | /* | 1623 | /* |