• L
    proc: more readdir conversion bug-fixes · fd3930f7
    Linus Torvalds 提交于
    In the previous commit, Richard Genoud fixed proc_root_readdir(), which
    had lost the check for whether all of the non-process /proc entries had
    been returned or not.
    
    But that in turn exposed _another_ bug, namely that the original readdir
    conversion patch had yet another problem: it had lost the return value
    of proc_readdir_de(), so now checking whether it had completed
    successfully or not didn't actually work right anyway.
    
    This reinstates the non-zero return for the "end of base entries" that
    had also gotten lost in commit f0c3b509 ("[readdir] convert
    procfs").  So now you get all the base entries *and* you get all the
    process entries, regardless of getdents buffer size.
    
    (Side note: the Linux "getdents" manual page actually has a nice example
    application for testing getdents, which can be easily modified to use
    different buffers.  Who knew? Man-pages can be useful)
    Reported-by: NEmmanuel Benisty <benisty.e@gmail.com>
    Reported-by: NMarc Dionne <marc.c.dionne@gmail.com>
    Cc: Richard Genoud <richard.genoud@gmail.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    fd3930f7
generic.c 12.9 KB