Kernel handling of path length

Steve Grubb sgrubb at redhat.com
Wed Jul 6 16:14:44 UTC 2005


On Wednesday 06 July 2005 11:14, Loulwa Salem wrote:
> I just thought to follow up on this problem .... I am still seeing it
> using kernel.74 and audit.0.9.14

I believe this is a generic linux kernel problem. The documentation 
in /usr/include/limits.h clearly says:

#define PATH_MAX        4096    /* # chars in a path name including nul */

However, the LTP test suite does not check the boundary correctly as you do. 
They use 4098 which is obviously bad and then check for failure. As a result 
of not checking the boundary correctly - no one knows that this is a problem. 
In real life its not a problem...its only a problem for people doing 
conformance test.

> I noticed that when inserting a watch on a path strlen()=4095 but with a
> space in the path, no error is generated and the case passes ...

You may need to adjust the test to use a path that is 1 byte smaller just so 
we can get past this. The problem can be corrected by either changing the 
documentation in limits.h or fixing the problem in the kernel. This is up to 
the kernel guys.

-Steve




More information about the Linux-audit mailing list