[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <52d82353-2746-269a-c1e3-e4aec4fbf0f9@redhat.com>
Date: Wed, 27 Jun 2018 23:18:30 -0500
From: Eric Sandeen <sandeen@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
Eric Sandeen <sandeen@...deen.net>
Cc: linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>,
Linux API <linux-api@...r.kernel.org>,
linux-xfs <linux-xfs@...r.kernel.org>,
linux-ext4@...r.kernel.org,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
Dan Williams <dan.j.williams@...el.com>,
Jan Kara <jack@...e.cz>, Christoph Hellwig <hch@...radead.org>,
zhibli@...hat.com
Subject: Re: [PATCH] mm: reject MAP_SHARED_VALIDATE without new flags
On 6/27/18 9:37 PM, Linus Torvalds wrote:
> On Wed, Jun 27, 2018 at 7:17 PM Eric Sandeen <sandeen@...deen.net> wrote:
>>
>> What broke is that mmap(MAP_SHARED|MAP_PRIVATE) now succeeds without error,
>> whereas before it rightly returned -EINVAL.
>
> You're still confusing *behavior* with breakage.
>
> Yes. New *behavior* is that MAP_SHARED|MAP_PRIVATE is now a valid
> thing. It means "MAP_SHARED_VALIDATE".
>
> Behavior changed. That's normal. Every single time we add a system
> call, behavior changes: a system call that used to return -ENOSYS now
> returns something else.
>
> That's not breakage, that's just intentional new behavior.
*shrug* semantics aside, the new behavior is out there in a public
API, so I guess there's nothing to do at this point other than
to document the change more clearly. It's true that my patch could
possibly break existing users.
The man page is clearly wrong at this point, both in terms of the
error code section, and the claim that MAP_SHARED and MAP_PRIVATE
behave as described in POSIX (because POSIX states that these
two flags may not be specified together.)
-Eric
Powered by blists - more mailing lists