Robin Getz wrote:
On Wed 2 May 2007 07:32, Greg Ungerer pondered:
Robin Getz wrote:
On Wed 2 May 2007 01:23, Greg Ungerer pondered:
diff -Naur linux-2.6.21/fs/namei.c linux-2.6.21-uc0/fs/namei.c
--- linux-2.6.21/fs/namei.c 2007-05-01 17:12:53.000000000 +1000
+++ linux-2.6.21-uc0/fs/namei.c 2007-05-01 17:16:18.000000000 +1000
@@ -120,12 +120,14 @@
int retval;
unsigned long len = PATH_MAX;
+#ifdef CONFIG_MMU
if (!segment_eq(get_fs(), KERNEL_DS)) {
if ((unsigned long) filename >= TASK_SIZE)
return -EFAULT;
if (TASK_SIZE - (unsigned long) filename < PATH_MAX)
len = TASK_SIZE - (unsigned long) filename;
}
+#endif
retval = strncpy_from_user(page, filename, len);
if (retval > 0) {
I was trying to understand why we don't want to do the same checking on
noMMU?
The problem is on systems that have RAM mapped at high physical
addresses. TASK_SIZE may well be a numerically smaller number
than the address range that RAM sits in. So this test fails when
it shouldn't.
So, then this is a problem only on one or two architectures, not all noMMU
platforms?
Its not an architecture problem. It can effect any board that
has RAM mapped at a large numerical addresses (larger than TASK_SIZE).
So it can effect any non-MMU platform.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [email protected]
SnapGear -- a Secure Computing Company PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]