aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-10-05 12:03:27 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-10-05 12:03:27 -0700
commit4f11918ab93bc113ec0831ed2ab7b88847d44dd7 (patch)
tree22797fff6fee92d376f06de6462533a117a1d68b /arch
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff)
parentMake filldir[64]() verify the directory entry filename is valid (diff)
downloadlinux-dev-4f11918ab93bc113ec0831ed2ab7b88847d44dd7.tar.xz
linux-dev-4f11918ab93bc113ec0831ed2ab7b88847d44dd7.zip
Merge branch 'readdir' (readdir speedup and sanity checking)
This makes getdents() and getdents64() do sanity checking on the pathname that it gives to user space. And to mitigate the performance impact of that, it first cleans up the way it does the user copying, so that the code avoids doing the SMAP/PAN updates between each part of the dirent structure write. I really wanted to do this during the merge window, but didn't have time. The conversion of filldir to unsafe_put_user() is something I've had around for years now in a private branch, but the extra pathname checking finally made me clean it up to the point where it is mergable. It's worth noting that the filename validity checking really should be a bit smarter: it would be much better to delay the error reporting until the end of the readdir, so that non-corrupted filenames are still returned. But that involves bigger changes, so let's see if anybody actually hits the corrupt directory entry case before worrying about it further. * branch 'readdir': Make filldir[64]() verify the directory entry filename is valid Convert filldir[64]() from __put_user() to unsafe_put_user()
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions