Re: [patch 29/29] initrd: Fix virtual/physical mix-up in overwrite test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Jul 2008 20:49:27 +0200 (CEST), Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
Because an argument of mips virt_to_phys() is an pointer and
initrd_start is unsigned long.  It seems most (all?) arch's
virt_to_phys() casts its argument to unsigned long internally.  Should
mips follow?

Alternatively, as initrd_start is really a virtual kernel address,
perhaps it should be changed from unsigned long to void * instead?

It's cast to `void *' in several place. arch/xtensa/kernel/setup.c even
has `extern void *initrd_start' to fool around this?

I agree it would make code cleaner, but the conversion might be
somewhat hard.

If we converted initrd_start (and initrd_end) to void *, we should
also convert INITRD_START, free_initrd_mem(), some other arch specific
local/global variables and printk format strings.  Also code like
"initrd_start & PAGE_MASK" should be changed too...

Is it worth to do?

---
Atsushi Nemoto
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux