]> git.michaelhowe.org Git - packages/o/openafs.git/commit
STABLE14-linux-symlink-handling-avoid-crash-20070418
authorChristopher Allen Wing <wingc@engin.umich.edu>
Wed, 18 Apr 2007 19:27:46 +0000 (19:27 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 18 Apr 2007 19:27:46 +0000 (19:27 +0000)
commit3320feb386b129f4e583f77dfcce0d3da8b401e8
tree406c59d40a1693274af42872f4adb06849b2e619
parenta9f5e9b4f86e63b64fecb557c3f5249df5e7ea18
STABLE14-linux-symlink-handling-avoid-crash-20070418

Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
code when running on kernel versions between 2.6.10 to 2.6.12.  This also
includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
problem is that the symlink text caching API, page_follow_link() et al, is
unsuitable for network filesystems where the page cache may be invalidated
in parallel with a path lookup.

This crash can be triggered easily by doing a bunch of path lookups
involving symlinks (e.g., stat() on various files pointed to through links),
while simultaneously running 'fs flushvol' on the volume containing the
symlinks.

The simplest way to fix this problem is to disable the use of symlink text
caching when the kernel does not provide a usable symlink API.

(cherry picked from commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8)
acinclude.m4
src/afs/LINUX/osi_vnodeops.c
src/cf/linux-test4.m4