Issue:
The kernel will pad the entry->d_reclen in a getdents64 call to a
long-word boundary. For very long records, this could exceed the
size of a struct dirent. The mismatch in the size was causing error
paranoid checking code in bionic to fail... thus causing an early
"end" when reading the dirent structures from the kernel buffer.
Test:
ls
mkdir abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu
ls
Change-Id: I75d1f8e45e1655fdd7bac4a08a481d086f28073a
Author: Bruce Beare <bruce.j.beare@intel.com>