summaryrefslogtreecommitdiffstats
path: root/fs/stat.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-02-23 16:14:28 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2008-03-19 11:55:46 +0100
commita02f76c34d7d6d30b63ac64a8b34dea68593e8da (patch)
tree4186495ccb3d6ef3cec8b5f8cf964212f746ab55 /fs/stat.c
parent[PATCH] double iput() on failure exit in hugetlb (diff)
downloadlinux-a02f76c34d7d6d30b63ac64a8b34dea68593e8da.tar.xz
linux-a02f76c34d7d6d30b63ac64a8b34dea68593e8da.zip
[PATCH] get stack footprint of pathname resolution back to relative sanity
Somebody had put struct nameidata in stack frame of link_path_walk(). Unfortunately, there are certain realities to deal with: * It's in the middle of recursion. Depth is equal to the nesting depth of symlinks, i.e. up to 8. * struct namiedata is, even if one discards the intent junk, at least 12 pointers + 5 ints. * moreover, adding a stack frame is not free in that situation. * there are fs methods called on top of that, and they also have stack footprint. * kernel stack is not infinite. The thing is, even if one chooses to deal with -ESTALE that way (and it's one hell of an overkill), the only thing that needs to be preserved is vfsmount + dentry, not the entire struct nameidata. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/stat.c')
0 files changed, 0 insertions, 0 deletions