Re: [PATCH]: linux-2.6.21-uc0 (MMU-less updates)

From: Robin Getz
Date: Thu May 03 2007 - 06:53:43 EST


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?

-Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/