Messages in this thread | | | From | Liu Hui-R64343 <> | Subject | RE: echo 1 > /proc/sys/vm/compact_memory -> sh: write error: Bad address | Date | Fri, 28 Dec 2012 06:07:13 +0000 |
| |
>-----Original Message----- >From: David Rientjes [mailto:rientjes@google.com] >Sent: Friday, December 28, 2012 6:39 AM >To: Liu Hui-R64343 >Cc: Mel Gorman; linux-kernel@vger.kernel.org >Subject: Re: echo 1 > /proc/sys/vm/compact_memory -> sh: write error: Bad >address > >On Thu, 27 Dec 2012, Liu Hui-R64343 wrote: > >> diff --git a/mm/compaction.c b/mm/compaction.c index c4bc5ac..d3cb27f >> 100644 >> --- a/mm/compaction.c >> +++ b/mm/compaction.c >> @@ -732,8 +732,10 @@ int sysctl_compact_memory; int >> sysctl_compaction_handler(struct ctl_table *table, int write, >> void __user *buffer, size_t *length, loff_t >> *ppos) { >> - if (write) >> - return compact_nodes(); >> + if (write) { >> + compact_nodes(); >> + return *length; >> + } >> >> return 0; >> } > >No need to return the length at all, simply change compact_nodes() to return >void, remove the return value, and do > > if (write) > compact_nodes(); > return 0; > >and it should be fixed.
Yes, this works. Thanks,
> Could you write a changelog that shows the before >and after behavior (not necessarily the implementation), sign-off the patch >as described in Documentation/SubmittingPatches, running >scripts/get_maintainer.pl on your new patch file, and sending it to all >addresses that are listed?
OK, I will send out the patch as you suggested.
Happy holiday.
Jason Liu
| |