From: Andrea Arcangeli <andrea@suse.de>
To: Andrew Morton <akpm@zip.com.au>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH?] Crash in 2.4.17/ptrace
Date: Tue, 29 Jan 2002 00:47:41 +0100 [thread overview]
Message-ID: <20020129004741.G1309@athlon.random> (raw)
In-Reply-To: <20020128153210.A3032@nevyn.them.org> <3C55BC89.EDE3105C@zip.com.au> <20020128161900.A9071@nevyn.them.org>
In-Reply-To: <20020128161900.A9071@nevyn.them.org>; from dan@debian.org on Mon, Jan 28, 2002 at 04:19:00PM -0500
On Mon, Jan 28, 2002 at 04:19:00PM -0500, Daniel Jacobowitz wrote:
> On Mon, Jan 28, 2002 at 01:03:05PM -0800, Andrew Morton wrote:
> > Oh nice. And it seems that, say, an O_DIRECT write of, say,
> > a mmaped framebuffer will also oops the kernel.
> >
> > Most callers of get_user_pages() aren't prepared for a
> > null page* in the returned array.
> >
> > This patch *may* be sufficient, but perhaps get_user_pages()
> > should just bale out as soon as it finds an invalid page, rather
> > than sticking a null page * into the returned array and continuing.
> >
> > --- linux-2.4.18-pre7/mm/memory.c Fri Dec 21 11:19:23 2001
> > +++ linux-akpm/mm/memory.c Mon Jan 28 12:54:40 2002
> > @@ -453,6 +453,7 @@ int get_user_pages(struct task_struct *t
> > vma = find_extend_vma(mm, start);
> >
> > if ( !vma ||
> > + (vma->vm_flags & VM_IO) ||
> > (!force &&
> > ((write && (!(vma->vm_flags & VM_WRITE))) ||
> > (!write && (!(vma->vm_flags & VM_READ))) ) )) {
>
> Frame buffers aren't reliable marked VM_IO when mapped, currently. Ben
For this reason (and also because there aren't only framebuffers mmapped
out there) I guess it's better to just add (yet another) flag to
get_user_pages, so that it fails with an error when it encounters a
page out of the mem_map array.
> H. said he was going to push a fix for this at least to the PPC trees
> today or tomorrow.
>
> It's cute - fbmem.c goes out of its way to set the flag on some
> architectures and not others. I can't imagine why.
>
> But with that, yes, that should fix it.
>
> > > Of course, I would much rather be able to see the contents of the
> > > framebuffer. Any suggestions?
> >
> > Not with this patch, I'm afraid. For your testing purposes you
> > could just remove the VALID_PAGE() test in mm/memory.c:get_page_map(),
> > and then gdb should be able to get at the framebuffer.
>
> I'm sure there's a good reason to not do that in general. Mind
> enlightening me?
>
> --
> Daniel Jacobowitz Carnegie Mellon University
> MontaVista Software Debian GNU/Linux Developer
Andrea
next prev parent reply other threads:[~2002-01-28 23:46 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-28 20:32 [PATCH?] Crash in 2.4.17/ptrace Daniel Jacobowitz
2002-01-28 21:03 ` Andrew Morton
2002-01-28 21:19 ` Daniel Jacobowitz
2002-01-28 21:29 ` Andrew Morton
2002-01-28 21:55 ` Alan Cox
2002-01-28 22:12 ` Andrew Morton
2002-01-29 22:59 ` [Linux-fbdev-devel] " James Simmons
2002-01-29 23:02 ` Andrew Morton
2002-01-30 0:13 ` James Simmons
2002-01-28 22:15 ` Benjamin Herrenschmidt
2002-01-28 23:57 ` Andrea Arcangeli
2002-01-28 23:54 ` Andrea Arcangeli
2002-01-29 5:35 ` Andrew Morton
2002-01-28 23:47 ` Andrea Arcangeli [this message]
2002-01-28 21:42 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2002-01-28 21:33 Manfred Spraul
2002-01-28 22:05 ` Alan Cox
2002-01-28 22:07 ` Manfred Spraul
2002-01-28 22:26 ` Daniel Jacobowitz
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=20020129004741.G1309@athlon.random \
--to=andrea@suse.de \
--cc=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
/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.