The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Norbert Preining <preining@logic.at>
Cc: linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>,
	Zwane Mwaikambo <zwane@holomorphy.com>
Subject: Re: 2.6.11-rc2-mm1 strange messages
Date: Thu, 24 Feb 2005 18:14:12 -0800	[thread overview]
Message-ID: <20050224181412.64a1f351.akpm@osdl.org> (raw)
In-Reply-To: <20050225012326.GA14302@gamma.logic.tuwien.ac.at>

Norbert Preining <preining@logic.at> wrote:
>
> On Don, 24 Feb 2005, Andrew Morton wrote:
> > What does the stack backtrace from iounmap-debugging.patch say?
> 
> iounmap: bad address c00fffd9
>  [<c03f8430>] trap_init+0x30/0x190
>  [<c03f2697>] start_kernel+0x47/0x1c0

ah hah.

trap_init() does:

	void __iomem *p = ioremap(0x0FFFD9, 4);

which returns phys_to_virt(0x0FFFD9) = 0xc00fffd9

then trap_init() does:

	iounmap(p);

and iounmap() does

	if ((void __force *) addr <= high_memory) 
		return; 

which doesn't work, because 0xc00fffd9 is outside 0 ... high_memory.

A quick fix is to delete that iounmap() call from trap_init(), because we
"know" how ioremap() works.  Or, better, simply use phys_to_virt(0x0FFFD9)
in trap_init().

Although a better fix might be to make __iounmap() behave symmetrically:

	if ((long)addr >= phys_to_virt(0xA0000) &&
			(long)addr < phys_to_virt(0x100000))
		return;

but that's not quite right, because we're assuming that the range to be
unmapped is wholly within the PCI/ISA region.  Without a VMA there just
isn't enough info to determine that.

Does anyone have any preferences?

  reply	other threads:[~2005-02-25  2:15 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-25 12:17 2.6.11-rc2-mm1 strange messages Norbert Preining
2005-01-25 18:28 ` Andrew Morton
2005-01-27  0:01   ` Len Brown
2005-01-27  6:24     ` Norbert Preining
2005-01-27 12:52   ` Norbert Preining
2005-02-24 14:10   ` Norbert Preining
2005-02-24 23:03     ` Andrew Morton
2005-02-25  1:23       ` Norbert Preining
2005-02-25  2:14         ` Andrew Morton [this message]
2005-02-25  6:12           ` Linus Torvalds
2005-02-25  6:33             ` Andrew Morton
2005-02-25  9:15               ` Norbert Preining
2005-02-25  9:52                 ` Andrew Morton
2005-02-25 13:27                   ` Norbert Preining

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=20050224181412.64a1f351.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=preining@logic.at \
    --cc=torvalds@osdl.org \
    --cc=zwane@holomorphy.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox