1. 15 Jan, 2006 39 commits
  2. 14 Jan, 2006 1 commit
    • Alexander Viro's avatar
      [PATCH] Fix double decrement of mqueue_mnt->mnt_count in sys_mq_open · 7c7dce92
      Alexander Viro authored
      Fixed the refcounting on failure exits in sys_mq_open() and
      cleaned the logics up.  Rules are actually pretty simple - dentry_open()
      expects vfsmount and dentry to be pinned down and it either transfers
      them into created struct file or drops them.  Old code had been very
      confused in that area - if dentry_open() had failed either in do_open()
      or do_create(), we ended up dentry and mqueue_mnt dropped twice, once
      by dentry_open() cleanup and then by sys_mq_open().
      
      Fix consists of making the rules for do_create() and do_open()
      same as for dentry_open() and updating the sys_mq_open() accordingly;
      that actually leads to more straightforward code and less work on
      normal path.
      Signed-off-by: default avatarAl Viro <aviro@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7c7dce92