summaryrefslogtreecommitdiffstats
path: root/fs/super.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-02-23 15:14:28 +0000
committerAl Viro <viro@zeniv.linux.org.uk>2008-03-19 06:55:46 -0400
commita02f76c34d7d6d30b63ac64a8b34dea68593e8da (patch)
tree4186495ccb3d6ef3cec8b5f8cf964212f746ab55 /fs/super.c
parentb4d232e65fa274a715dae39f77191071324e602a (diff)
[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/super.c')
0 files changed, 0 insertions, 0 deletions