From: Jens Axboe <axboe@suse.de>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] IDE: Do not call bh_phys() on buffers with invalid b_page.
Date: Wed, 29 Jan 2003 16:22:14 +0100 [thread overview]
Message-ID: <20030129152214.GE31566@suse.de> (raw)
In-Reply-To: <1043853614.1668.70.camel@zion.wanadoo.fr>
On Wed, Jan 29 2003, Benjamin Herrenschmidt wrote:
> On Wed, 2003-01-29 at 16:00, Jens Axboe wrote:
> > On Wed, Jan 29 2003, Benjamin Herrenschmidt wrote:
> > > Hi, I just spotted this in the patch (but the code itself have been
> > > there since 2.4.20-pre2).
> > >
> > > > - if (((unsigned long) bh->b_data) < PAGE_SIZE)
> > > > + if ((unsigned long) bh->b_data < PAGE_SIZE)
> > >
> > > Didn't you meant PAGE_OFFSET and not PAGE_SIZE here ? I fail to see why
> > > it would make any sense to compare a virtual address to PAGE_SIZE ;)
> >
> > For highmem buffer heads, b_data is the offset into the page. Does look
> > confusing, I'll give you that :-)
> >
> > The test should most likely just be removed, if anything.
>
> I would agree with you if you were actually testing that ;) Look
> closely, the test is in the non-b_page case, that is when b_data
> contains a kernel virtual address.
>
> So the test should be either removed or moved to the first part of the
> if () statement.
>
> In our case (virtual address, not page), though, it makes some sense to
> test that it's higher or equal than PAGE_OFFSET since virt_to_page()
> won't work on addresses not part of the lowmem linear mapping.
Ehm no, if b_data is < PAGE_SIZE, it's probably an offset and not a
valid address. So it should be exactly where it is -- for b_page, it's
_not_ buggy for b_data to be < PAGE_SIZE. That's expected. Submitter
would have to be buggy for it to trigger, though, so you can just remove
it if you want.
--
Jens Axboe
next prev parent reply other threads:[~2003-01-29 15:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-29 14:57 [PATCH] IDE: Do not call bh_phys() on buffers with invalid b_page Benjamin Herrenschmidt
2003-01-29 15:00 ` Jens Axboe
2003-01-29 15:20 ` Benjamin Herrenschmidt
2003-01-29 15:22 ` Jens Axboe [this message]
2003-01-29 15:26 ` Benjamin Herrenschmidt
2003-01-29 15:38 ` Jens Axboe
2003-01-29 15:44 ` Benjamin Herrenschmidt
2003-01-29 15:47 ` Jens Axboe
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=20030129152214.GE31566@suse.de \
--to=axboe@suse.de \
--cc=benh@kernel.crashing.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox