All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Benjamin LaHaise <bcrl@redhat.com>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] mmap bug with drivers that adjust vm_start
Date: Tue, 26 Mar 2002 17:42:36 +0100	[thread overview]
Message-ID: <20020326174236.B13052@dualathlon.random> (raw)
In-Reply-To: <20020325230046.A14421@redhat.com>

On Mon, Mar 25, 2002 at 11:00:47PM -0500, Benjamin LaHaise wrote:
> Hello all,
> 
> The patch below fixes a problem whereby a vma which has its vm_start 
> address changed by the file's mmap operation can result in the vma 
> being inserted into the wrong location within the vma tree.  This 
> results in page faults not being handled correctly leading to SEGVs, 
> as well as various BUG()s hitting on exit of the mm.  The fix is to 
> recalculate the insertion point when we know the address has changed.  
> Comments?  Patch is against 2.4.19-pre4.

The patch is obviously safe.

However if the patch is needed it means the ->mmap also must do the
do_munmap stuff by hand internally, which is very ugly given we also did
our own do_munmap in a completly different region (the one requested by
the user). Our do_munmap should not happen if we place the mapping
elsewhere. If possible I would prefer to change those drivers to
advertise their enforced vm_start with a proper callback, the current
way is halfway broken still. BTW, which are those drivers, and why they
needs to enforce a certain vm_start (also despite MAP_FIXED that they
cannot check within the ->mmap callback)?

Andrea

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <andrea@suse.de>
To: Benjamin LaHaise <bcrl@redhat.com>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] mmap bug with drivers that adjust vm_start
Date: Tue, 26 Mar 2002 17:42:36 +0100	[thread overview]
Message-ID: <20020326174236.B13052@dualathlon.random> (raw)
In-Reply-To: <20020325230046.A14421@redhat.com>

On Mon, Mar 25, 2002 at 11:00:47PM -0500, Benjamin LaHaise wrote:
> Hello all,
> 
> The patch below fixes a problem whereby a vma which has its vm_start 
> address changed by the file's mmap operation can result in the vma 
> being inserted into the wrong location within the vma tree.  This 
> results in page faults not being handled correctly leading to SEGVs, 
> as well as various BUG()s hitting on exit of the mm.  The fix is to 
> recalculate the insertion point when we know the address has changed.  
> Comments?  Patch is against 2.4.19-pre4.

The patch is obviously safe.

However if the patch is needed it means the ->mmap also must do the
do_munmap stuff by hand internally, which is very ugly given we also did
our own do_munmap in a completly different region (the one requested by
the user). Our do_munmap should not happen if we place the mapping
elsewhere. If possible I would prefer to change those drivers to
advertise their enforced vm_start with a proper callback, the current
way is halfway broken still. BTW, which are those drivers, and why they
needs to enforce a certain vm_start (also despite MAP_FIXED that they
cannot check within the ->mmap callback)?

Andrea
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

  parent reply	other threads:[~2002-03-26 16:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-26  4:00 [patch] mmap bug with drivers that adjust vm_start Benjamin LaHaise
2002-03-26  4:00 ` Benjamin LaHaise
2002-03-26  4:00 ` David S. Miller
2002-03-26  4:00   ` David S. Miller
2002-03-26 16:42 ` Andrea Arcangeli [this message]
2002-03-26 16:42   ` Andrea Arcangeli
2002-03-26 18:57   ` Benjamin LaHaise
2002-03-26 18:57     ` Benjamin LaHaise
2002-03-26 19:15     ` Andrea Arcangeli
2002-03-26 19:15       ` Andrea Arcangeli
2002-03-26 20:43       ` Benjamin LaHaise
2002-03-26 20:43         ` Benjamin LaHaise
2002-03-26 21:18         ` Andrea Arcangeli
2002-03-26 21:18           ` Andrea Arcangeli

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=20020326174236.B13052@dualathlon.random \
    --to=andrea@suse.de \
    --cc=bcrl@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=marcelo@conectiva.com.br \
    /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.