RE: [patch] remove redundant iov segment check

From: Chen, Kenneth W
Date: Mon Dec 04 2006 - 14:47:51 EST


Zach Brown wrote on Monday, December 04, 2006 11:19 AM
> On Dec 4, 2006, at 8:26 AM, Chen, Kenneth W wrote:
>
> > The access_ok() and negative length check on each iov segment in
> > function
> > generic_file_aio_read/write are redundant. They are all already
> > checked
> > before calling down to these low level generic functions.
>
> ...
>
> > So it's not possible to call down to generic_file_aio_read/write
> > with invalid
> > iov segment.
>
> Well, generic_file_aio_{read,write}() are exported to modules, so
> anything's *possible*. :)
>
> This change makes me nervous because it relies on our ability to
> audit all code paths to ensure that it's correct. It'd be nice if
> the code enforced the rules.

Maybe we should create another internal generic_file_aio_read/write
for in-core function? fs/read_write.c and fs/aio.c are not module-able
and the check is already there. For external module, we can do the
check and then calls down to the internal one.

I hate to see iov is being walked multiple times .... And this is
part of my effort to bring back O_DIRECT performance compares to a
3-years old vendor kernel based on 2.4 kernel.

- Ken
-
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/