ChangeLog
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:6k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. Mon Oct 24 23:27:42 1994  Theodore Y. Ts'o  (tytso@rt-11)
  2. * fcntl.c (sys_fcntl): Liberalize security checks which Alan Cox
  3. put in.
  4. Thu Oct 20 23:44:22 1994  Theodore Y. Ts'o  (tytso@rt-11)
  5. * fcntl.c (sys_fcntl): Add more of a security check to the
  6. F_SETOWN fcntl().
  7. [Tons of changes missed, indeed. This list is worth restarting since
  8. at least some fixes WILL break third-party filesystems. Sorry, but
  9. there was no other way to fix rmdir/rename deadlock, for one.]
  10. Wed Dec  2 (Linus, fill the rest, please)
  11. * namei.c (do_rmdir) and rmdir method in filesystems:
  12. Locking of directory we remove was taken to VFS.
  13. See comments in do_rmdir(). Unfixed filesystems
  14. will bloody likely deadlock in rmdir().
  15. Thu Dec  3 17:25:31 1998  Al Viro (viro@math.psu.edu)
  16. * namei.c (do_rmdir):
  17. Reject non-directories here.
  18. Two (probably) obsolete checks moved here too: we fail if
  19. the directory we remove is the same as parent (BUG: we
  20. serve mountpoints later) or if it lives on a different
  21. device.
  22. * sysv/namei.c (sysv_rmdir): See sysv/CHANGES
  23. Fri Dec  4 00:54:12 1998  AV
  24. * namei.c (check_sticky): New function check_sticky(dir, inode).
  25. If dir is sticky check whether we can unlink/rmdir/rename
  26. the inode. Returns 1 if we can't. If dir isn't sticky -
  27. return 0 (i.e. no objections). Some filesystems require
  28. suser() here; some are fine with CAP_FOWNER. The later
  29. seems more reasonable.
  30. * namei.c (do_rmdir):
  31. Moved the check for sticky bit here.
  32. * affs/{inode,namei}.c:
  33. All AFFS directories have sticky semantics (i.e. non-owner
  34. having write permisssions on directory can unlink/rmdir/rename
  35. only the files he owns), but AFFS didn't set S_ISVTX on them.
  36. Fixed. NB: maybe this behaviour should be controlled by mount
  37. option. Obvious values being 'sticky' (current behaviour),
  38. 'nonsticky' (normal behaviour) and maybe some play on 'D'
  39. permissions bit. FIXME.
  40. * qnx4/namei.c (qnx4_rmdir):
  41. Plugged inode leak.
  42. * ufs/namei.c (ufs_rmdir):
  43. Changed handling of busy directory to new scheme.
  44. Fri Dec  4 10:30:58 1998  AV
  45. * namei.c (VFS_rmdir): New function. It gets inode of the parent and
  46. dentry of the victim, does all checks and applies fs-specific
  47. rmdir() method. It should be called with semaphores down
  48. on both the victim and its parent and with bumped d_count on
  49. victim (see comments in do_rmdir).
  50. * include/linux/fs.h: Added VFS_rmdir
  51. * kernel/ksyms.c: Added VFS_rmdir to export list (for NFSD).
  52. * nfsd/vfs.c: Fixed rmdir handling.
  53. Tue Dec  8 05:55:08 1998  AV
  54. * vfat/namei.c: Fixed the bug in vfat_rename() introduced in the
  55. first round of rmdir fixes.
  56. Wed Dec  9 03:06:10 1998  AV
  57. * namei.c (do_rename): part of fs-independent checks had been moved
  58. here (sticky bit handling, type mismatches). Cases of
  59. the source or target being append-only or immutable also went
  60. here - if we check it for parent we could as well do it for
  61. children.
  62. * {affs,ext2,minix,sysv,ufs}/namei.c (do_*_rename):
  63. Removed tests that went to VFS, it simplified the code big way.
  64. Fixed a race in check for empty target - we should check for
  65. extra owners _before_ checking for emptiness, not after it.
  66. * {ext2,ufs}/namei.c (do_*_rename):
  67. VERY nasty bug shot: if somebody mkdired /tmp/cca01234, went
  68. there, rmdired '.', waited till somebody created a file with
  69. the same name and said mv . /tmp/goodbye_sticky_bit... Well,
  70. goodbye sticky bit. Down, not across!
  71. * {minix,sysv}/namei.c (do_*_rename):
  72. Incorrect check for other owners (i_count instead of d_count).
  73. Fixed.
  74. * vfat: Looks like the changes above fixed a bug in VFAT - this beast
  75. used to allow renaming file over directory and vice versa.
  76. Wed Dec  9 08:00:27 1998  AV
  77. * namei.c (VFS_rename): New function. It gets the same arguments as
  78. ->rename() method, does all checks and applies fs-specific
  79. rmdir() method. It should be called with semaphores down
  80. on both parents.
  81. * include/linux/fs.h: Added VFS_rename
  82. * kernel/ksyms.c: Added VFS_rename to export list (for NFSD).
  83. * nfsd/vfs.c: Changed rename handling (switched to VFS_rename).
  84. Wed Dec  9 18:16:27 1998  AV
  85. * namei.c (do_unlink): handling of sticky bit went here.
  86. * {affs,ext2,minix,qnx4,sysv,ufs}/namei.c (*_unlink):
  87. removed handling of sticky bit.
  88. * qnx4/namei.c (qnx4_unlink):
  89. Yet another inode leak. Fixed.
  90. Thu Dec 10 04:55:26 1998  AV
  91. * {ext2,minix,sysv,ufs}/namei.c (*_mknod):
  92. removed meaningless code handling attempts to mknod symlinks
  93. and directories. VFS protects us from _that_ and if this code
  94. would ever be called we'ld get a filesystem corruption.
  95. Thu Dec 10 16:58:50 1998  AV
  96. * namei.c (do_rename): Fixed dentry leak that had been introduced by
  97. the first round of rmdir fixes.
  98. Fri Dec 11 14:57:17 1998  AV
  99. * msdos/namei.c (msdos_rmdir): Fixed race in emptiness check.
  100. Sat Dec 12 19:59:57 1998  AV
  101. * msdos/namei.c (msdos_mkdir): Fixed the evil breakage introduced by
  102. the changes of rmdir locking scheme. We shouldn't call
  103. msdos_rmdir from there.
  104. Sun Dec 13 02:05:16 1998  AV
  105. * namei.c (do_unlink):
  106. Added new function: vfs_unlink, with the same arguments as
  107. ->unlink() method.
  108. * kernel/ksyms.c: Made it exported.
  109. * include/linux/fs.h: Added prototype.
  110. * nfsd/vfs.c: Changed handling of unlink (switched to vfs_unlink)
  111. * {ext2,ufs}/namei.c (*_unlink): moved handling of imm./append-only to
  112. VFS.
  113. Wed Dec 16 06:10:04 1998  AV
  114. * namei.c (may_create, may_delete): New inline functions.
  115. They check whether creation/deletion is permitted.
  116. Checks from other places of namei.c went there.
  117. Looks like originally I misread permission-related stuff
  118. both here and in nfsd. In particular, checks for
  119. immutable are done in permission(). D'oh.
  120. * unlink on directory should return -EISDIR, not -EPERM as it used to
  121. do. Fixed.
  122. * rmdir of immutable/append-only directory shouldn't be allowed. Fixed.
  123. Remains unfixed:
  124. * rename's handling of races is, erm, not optimal. Looks like I know
  125. what to do, but this thing needs some more cleanup - we can
  126. take care of almost all races in VFS and be much more graceful
  127. wrt locking. Moreover, it would give strong lookup atomicity.
  128. But it's a lot of changes to lookup and dcache code, so it will
  129. go after the fs drivers' cleanup.
  130. * affs allows HARD links to directories. VFS is, to put it politely,
  131. not too ready to cope with _that_. And I'm not sure it should
  132. be - looks like they are pretty much similar to symlinks.
  133. * truncate doesn't give a damn about IO errors and disk overflows (on
  134. braindead filesystems). I've submitted a patch to Linus, but
  135. looks like it wasn't applied.
  136. * msdos: shouldn't we treat SYS as IMMUTABLE? Makes sense, IMHO.