• Richard Genoud's avatar
    proc: return on proc_readdir error · 94fc5d9d
    Richard Genoud authored
    Commit f0c3b509 ("[readdir] convert procfs") introduced a bug on the
    listing of the proc file-system.  The return value of proc_readdir()
    isn't tested anymore in the proc_root_readdir function.
    
    This lead to an "interesting" behaviour when we are using the getdents()
    system call with a buffer too small: instead of failing, it returns the
    first entries of /proc (enough to fill the given buffer), plus the PID
    directories.
    
    This is not triggered on glibc (as getdents is called with a 32KB
    buffer), but on uclibc, the buffer size is only 1KB, thus some proc
    entries are missing.
    
    See https://lkml.org/lkml/2013/8/12/288 for more background.
    Signed-off-by: default avatarRichard Genoud <richard.genoud@gmail.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    94fc5d9d
root.c 5.49 KB