From: DervishD <raul@pleyades.net>
To: "David S. Miller" <davem@redhat.com>
Cc: linux-kernel@vger.kernel.org, marcelo@conectiva.com.br
Subject: Re: [BK-2.4] [PATCH] Small do_mmap_pgoff correction
Date: Tue, 10 Dec 2002 23:13:57 +0100 [thread overview]
Message-ID: <20021210221357.GA46@DervishD> (raw)
In-Reply-To: <20021210.132207.23687680.davem@redhat.com>
Hi David :)
> Because PAGE_ALIGN won't return 0?
> What if TASK_SIZE is ~0? Both your checks will pass
> for the case of (SIZE_MAX-PAGE_SIZE + 1) to ~0 cases.
Well, the checks were already there... I didn't add them, I just
move a comparison to a better place. If TASK_SIZE is ~0, then
the patch works. If you look at the patch, you will notice that I've
only changed the order of the checks.
But all of this is pointless. The patch has been reverted and the
2.4.x branch will keep on silently failing when the requested size
for an mmap() call is too large. That's good?
The patch just took a wrong comparison, did not introduce any
TASK_SIZE comparison and made mmap() work in a corner case.
FYI, without the patch mmap will silently fail when size is
between SIZE_MAX-PAGE_SIZE and SIZE_MAX. With the patch, it will
return -EINVAL or, in the worst case, it will still silently fail.
This happens only when TASK_SIZE is larger than SIZE_MAX-PAGE_SIZE,
ok, but then propose another solution. The true problem is
PAGE_ALIGN. We shouldn't use it for aligning sizes...
- if ((len = PAGE_ALIGN(len)) == 0)
+ if (!len)
return addr;
if (len > TASK_SIZE)
return -EINVAL;
+ len = PAGE_ALIGN(len); /* This cannot be zero now */
Anyway, without the patch, mmap fails on all architectures. With
it, it only fails on archs where TASK_SIZE is the entire address
space. On those archs, nothing change so, why punish the other archs?
Sincerely, I don't understand why this patch is bad. Is no worse
than the previous situation :??
Raúl
next prev parent reply other threads:[~2002-12-10 22:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200212101931.gBAJV1K10639@hera.kernel.org>
2002-12-10 20:19 ` [BK-2.4] [PATCH] Small do_mmap_pgoff correction David S. Miller
2002-12-10 20:45 ` DervishD
2002-12-10 20:47 ` David S. Miller
2002-12-10 20:59 ` DervishD
2002-12-10 21:22 ` David S. Miller
2002-12-10 18:52 ` Marcelo Tosatti
2002-12-10 22:13 ` DervishD [this message]
2002-12-10 22:14 ` David S. Miller
2002-12-10 22:28 ` DervishD
2002-12-11 1:06 ` David S. Miller
2002-12-11 12:32 ` DervishD
2002-12-10 20:50 [BK-2.4] [Patch] " DervishD
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=20021210221357.GA46@DervishD \
--to=raul@pleyades.net \
--cc=davem@redhat.com \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox