From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Petr Tesa__ík" <ptesarik@suse.cz>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
"Nick Piggin" <nickpiggin@yahoo.com.au>
Subject: Re: [PATCH] remove_arg_zero() rewrite
Date: Wed, 07 Mar 2007 23:55:12 +0100 [thread overview]
Message-ID: <1173308113.4868.11.camel@lappy> (raw)
In-Reply-To: <20070307144101.f97cfa53.akpm@linux-foundation.org>
On Wed, 2007-03-07 at 14:41 -0800, Andrew Morton wrote:
> On Wed, 07 Mar 2007 23:09:57 +0100
> Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
>
> > On Wed, 2007-02-21 at 15:41 -0800, Andrew Morton wrote:
> >
> > > I mean.... what the hell?
> > >
> > > As you appear to have managed to work out what the sorry thing is trying to
> > > do, would you have time to simply rip it out and completely rewrite it,
> > > including a nice comment telling the world what this function's function is?
> > >
> > > Because what we have there is beyond repairing.
> >
> > Something like so?
> > Boots uml seemingly without errors.
> >
> > ---
> > Rewrite remove_arg_zero() to be more parseable by untwisted minds.
> >
>
> Sorry, Nick already had a go at this:
Darn, must've fell off of lkml... or I missed it catching up my 4000+
email backlog.
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc2/2.6.21-rc2-mm2/broken-out/exec-fix-remove_arg_zero.patch
>
> But your patch has a nice comment and has to be better ;)
Ah, but now I finally see the initial problem.
My patch is bug compatible and doesn't free the head page when that
becomes unused.
This should do on top:
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
Index: linux-2.6/fs/exec.c
===================================================================
--- linux-2.6.orig/fs/exec.c 2007-03-07 23:51:31.000000000 +0100
+++ linux-2.6/fs/exec.c 2007-03-07 23:50:41.000000000 +0100
@@ -1011,6 +1011,11 @@ void remove_arg_zero(struct linux_binprm
;
kunmap_atomic(kaddr, KM_USER0);
+
+ if (offset == PAGE_SIZE) {
+ __free_page(page);
+ bprm->page[(bprm->p >> PAGE_SHIFT) - 1] = NULL;
+ }
} while (offset == PAGE_SIZE);
bprm->p++;
next prev parent reply other threads:[~2007-03-07 22:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-20 13:29 [PATCH] free pages in remove_arg_zero() Petr Tesařík
2007-02-21 23:41 ` Andrew Morton
2007-03-07 22:09 ` [PATCH] remove_arg_zero() rewrite Peter Zijlstra
2007-03-07 22:41 ` Andrew Morton
2007-03-07 22:55 ` Peter Zijlstra [this message]
2007-03-07 23:05 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1173308113.4868.11.camel@lappy \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=ptesarik@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.