All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Mayatskikh <v.mayatskih@gmail.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Vitaly Mayatskikh <v.mayatskih@gmail.com>,
	Josef Bacik <josef@redhat.com>,
	sandeen@redhat.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] Perform check in iov_iter_fault_in_readable() by check_readable_bytes()
Date: Fri, 15 May 2009 09:56:03 +0200	[thread overview]
Message-ID: <871vqqkdf0.wl%vmayatsk@redhat.com> (raw)
In-Reply-To: <87k54iq2gv.fsf@basil.nowhere.org>

At Fri, 15 May 2009 08:56:00 +0200, Andi Kleen wrote:
 
> Can you describe how it makes it POSIX friendly?
> 
> My understanding was that EFAULT behaviour was undefined in POSIX.
> 
> The obvious hole in the patch is that all these checks are not race
> free -- they don't pin pages -- so if there's a parallel unmap even
> with your change they can still fail in the middle.


ptr = mmap(0, page_size, ....);
...
write(fd, ptr + page_size - 256, 512);

Write() will fail here, but it can write first 256 bytes. Previously,
all 512 bytes were proceeded, but last 256 bytes were zeroed, and
sys_write() returned 256. Not very nice too. 

-- 
wbr, Vitaly

  reply	other threads:[~2009-05-15  7:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-14 16:18 [PATCH 0/2] sys_write() should write all valid data Vitaly Mayatskikh
2009-05-14 16:19 ` [PATCH 1/2] Introduce check_readable_bytes() Vitaly Mayatskikh
2009-05-14 17:40   ` Josef Bacik
2009-05-14 17:57     ` Vitaly Mayatskikh
2009-05-14 16:19 ` [PATCH 2/2] Perform check in iov_iter_fault_in_readable() by check_readable_bytes() Vitaly Mayatskikh
2009-05-15  6:56   ` Andi Kleen
2009-05-15  7:56     ` Vitaly Mayatskikh [this message]
2009-05-15  9:38       ` Andi Kleen
2009-05-15 11:56         ` Vitaly Mayatskikh
2009-05-15 12:19           ` Andi Kleen
2009-05-15 13:43         ` Jamie Lokier
2009-05-15 14:01           ` Andi Kleen
2009-05-15 14:37             ` Jamie Lokier
2009-05-18  8:31           ` Alan Cox
2009-05-18  9:48             ` Jamie Lokier
2009-05-18 10:03               ` Alan Cox
2009-05-18 10:16               ` Andi Kleen
2009-05-19  8:55   ` Pavel Machek
2009-05-14 18:02 ` [PATCH 0/2] sys_write() should write all valid data Josef Bacik
2009-05-14 18:48   ` Vitaly Mayatskikh
2009-05-14 19:05     ` Josef Bacik
2009-05-15  6:52 ` Andi Kleen

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=871vqqkdf0.wl%vmayatsk@redhat.com \
    --to=v.mayatskih@gmail.com \
    --cc=andi@firstfloor.org \
    --cc=josef@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sandeen@redhat.com \
    /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.