[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.00.0802231232280.21332@woody.linux-foundation.org>
Date: Sat, 23 Feb 2008 12:45:38 -0800 (PST)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Éric Piel <Eric.Piel@...mplin-utc.net>
cc: len.brown@...el.com, Christoph Hellwig <hch@....de>,
dsdt@...gusch.at,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
trenn@...e.de
Subject: Re: [PATCH] Use userland-like functions for reading the ACPI table
On Sat, 23 Feb 2008, Éric Piel wrote:
>
> As recommended by Christoph Hellwig, even if we can't rely on the userspace
> firmware loader so early at boot, at least use normal syscall (as in
> init/do_mounts_*.c). Similarly, use kfree() instead of ACPI_FREE().
So I'm missing a lot of the background here.
I don't think "sys_open()" is in any way preferable to the alternatives,
especially since it depends on thread-global state (the file descriptor
table) rather than much more local state ("struct file" that you've
opened).
I think the calls to sys_open() in init do_dounts etc are very different:
they really are more about a real kernel-level almost-user-mode thread
than a core driver.
I *also* think this patch is just fundamentally broken regardless. You
can't just cast a kernel pointer to (char __user *). The two can be in
totally different address spaces. There's a reason why it used to do that
whole dance with oldfs.
[ Of course, on platforms where ACPI actually runs this is not the case,
but that is not an excuse for doing things wrong ]
So I would NAK this patch - it looks buggy, and the reason for it is not
sufficiently explained in the first place.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists