1. 20 Aug, 2005 2 commits
    • Linus Torvalds's avatar
      Fix nasty ncpfs symlink handling bug. · cc314eef
      Linus Torvalds authored
      This bug could cause oopses and page state corruption, because ncpfs
      used the generic page-cache symlink handlign functions.  But those
      functions only work if the page cache is guaranteed to be "stable", ie a
      page that was installed when the symlink walk was started has to still
      be installed in the page cache at the end of the walk.
      
      We could have fixed ncpfs to not use the generic helper routines, but it
      is in many ways much cleaner to instead improve on the symlink walking
      helper routines so that they don't require that absolute stability.
      
      We do this by allowing "follow_link()" to return a error-pointer as a
      cookie, which is fed back to the cleanup "put_link()" routine.  This
      also simplifies NFS symlink handling.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cc314eef
    • Al Viro's avatar
      [PATCH] jffs2: fix symlink error handling · 2fb1e308
      Al Viro authored
      The current calling conventions for ->follow_link() are already fairly
      complex.
      
      What we have is
      	1) you can return -error; then you must release nameidata yourself
      	   and ->put_link() will _not_ be called.
      	2) you can do nd_set_link(nd, ERR_PTR(-error)) and return 0
      	3) you can do nd_set_link(nd, path) and return 0
      	4) you can return 0 (after having moved nameidata yourself)
      
      jffs2 follow_link() is broken - it has an exit where it returns
      -EIO and leaks nameidata.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      2fb1e308
  2. 18 Aug, 2005 34 commits
  3. 17 Aug, 2005 4 commits