Messages in this thread Patch in this message | | | Date | Wed, 26 Jan 2011 16:21:58 +0100 | From | Michal Hocko <> | Subject | [PATCH] memsw: handle swapaccount kernel parameter correctly |
| |
Hi Andrew, I am sorry but the patch which added swapaccount parameter is not correct (we have discussed it https://lkml.org/lkml/2010/11/16/103). I didn't get the way how __setup parameters are handled correctly. The patch bellow fixes that.
I am CCing stable as well because the patch got into .37 kernel.
--- From 144c2e8aed27d82d48217896ee1f58dbaa7f1f84 Mon Sep 17 00:00:00 2001 From: Michal Hocko <mhocko@suse.cz> Date: Wed, 26 Jan 2011 14:12:41 +0100 Subject: [PATCH] memsw: handle swapaccount kernel parameter correctly
__setup based kernel command line parameters handled in obsolete_checksetup provides the parameter value including = (more precisely everything right after the parameter name) so we have to check for =0 resp. =1 here. If no value is given then we get an empty string rather then NULL.
Signed-off-by: Michal Hocko <mhocko@suse.cz> --- mm/memcontrol.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index db76ef7..cea2be48 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5013,9 +5013,9 @@ struct cgroup_subsys mem_cgroup_subsys = { static int __init enable_swap_account(char *s) { /* consider enabled if no parameter or 1 is given */ - if (!s || !strcmp(s, "1")) + if (!(*s) || !strcmp(s, "=1")) really_do_swap_account = 1; - else if (!strcmp(s, "0")) + else if (!strcmp(s, "=0")) really_do_swap_account = 0; return 1; } @@ -5023,7 +5023,7 @@ __setup("swapaccount", enable_swap_account); static int __init disable_swap_account(char *s) { - enable_swap_account("0"); + enable_swap_account("=0"); return 1; } __setup("noswapaccount", disable_swap_account); -- 1.7.2.3 -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic
| |