• Linus Torvalds's avatar
    Merge tag 'v6.5/vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 64bf6ae9
    Linus Torvalds authored
    Pull misc vfs updates from Christian Brauner:
     "Miscellaneous features, cleanups, and fixes for vfs and individual fs
    
      Features:
    
       - Use mode 0600 for file created by cachefilesd so it can be run by
         unprivileged users. This aligns them with directories which are
         already created with mode 0700 by cachefilesd
    
       - Reorder a few members in struct file to prevent some false sharing
         scenarios
    
       - Indicate that an eventfd is used a semaphore in the eventfd's
         fdinfo procfs file
    
       - Add a missing uapi header for eventfd exposing relevant uapi
         defines
    
       - Let the VFS protect transitions of a superblock from read-only to
         read-write in addition to the protection it already provides for
         transitions from read-write to read-only. Protecting read-only to
         read-write transitions allows filesystems such as ext4 to perform
         internal writes, keeping writers away until the transition is
         completed
    
      Cleanups:
    
       - Arnd removed the architecture specific arch_report_meminfo()
         prototypes and added a generic one into procfs.h. Note, we got a
         report about a warning in amdpgpu codepaths that suggested this was
         bisectable to this change but we concluded it was a false positive
    
       - Remove unused parameters from split_fs_names()
    
       - Rename put_and_unmap_page() to unmap_and_put_page() to let the name
         reflect the order of the cleanup operation that has to unmap before
         the actual put
    
       - Unexport buffer_check_dirty_writeback() as it is not used outside
         of block device aops
    
       - Stop allocating aio rings from highmem
    
       - Protecting read-{only,write} transitions in the VFS used open-coded
         barriers in various places. Replace them with proper little helpers
         and document both the helpers and all barrier interactions involved
         when transitioning between read-{only,write} states
    
       - Use flexible array members in old readdir codepaths
    
      Fixes:
    
       - Use the correct type __poll_t for epoll and eventfd
    
       - Replace all deprecated strlcpy() invocations, whose return value
         isn't checked with an equivalent strscpy() call
    
       - Fix some kernel-doc warnings in fs/open.c
    
       - Reduce the stack usage in jffs2's xattr codepaths finally getting
         rid of this: fs/jffs2/xattr.c:887:1: error: the frame size of 1088
         bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
         royally annoying compilation warning
    
       - Use __FMODE_NONOTIFY instead of FMODE_NONOTIFY where an int and not
         fmode_t is required to avoid fmode_t to integer degradation
         warnings
    
       - Create coredumps with O_WRONLY instead of O_RDWR. There's a long
         explanation in that commit how O_RDWR is actually a bug which we
         found out with the help of Linus and git archeology
    
       - Fix "no previous prototype" warnings in the pipe codepaths
    
       - Add overflow calculations for remap_verify_area() as a signed
         addition overflow could be triggered in xfstests
    
       - Fix a null pointer dereference in sysv
    
       - Use an unsigned variable for length calculations in jfs avoiding
         compilation warnings with gcc 13
    
       - Fix a dangling pipe pointer in the watch queue codepath
    
       - The legacy mount option parser provided as a fallback by the VFS
         for filesystems not yet converted to the new mount api did prefix
         the generated mount option string with a leading ',' causing issues
         for some filesystems
    
       - Fix a repeated word in a comment in fs.h
    
       - autofs: Update the ctime when mtime is updated as mandated by
         POSIX"
    
    * tag 'v6.5/vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (27 commits)
      readdir: Replace one-element arrays with flexible-array members
      fs: Provide helpers for manipulating sb->s_readonly_remount
      fs: Protect reconfiguration of sb read-write from racing writes
      eventfd: add a uapi header for eventfd userspace APIs
      autofs: set ctime as well when mtime changes on a dir
      eventfd: show the EFD_SEMAPHORE flag in fdinfo
      fs/aio: Stop allocating aio rings from HIGHMEM
      fs: Fix comment typo
      fs: unexport buffer_check_dirty_writeback
      fs: avoid empty option when generating legacy mount string
      watch_queue: prevent dangling pipe pointer
      fs.h: Optimize file struct to prevent false sharing
      highmem: Rename put_and_unmap_page() to unmap_and_put_page()
      cachefiles: Allow the cache to be non-root
      init: remove unused names parameter in split_fs_names()
      jfs: Use unsigned variable for length calculations
      fs/sysv: Null check to prevent null-ptr-deref bug
      fs: use UB-safe check for signed addition overflow in remap_verify_area
      procfs: consolidate arch_report_meminfo declaration
      fs: pipe: reveal missing function protoypes
      ...
    64bf6ae9
eventpoll.c 66.1 KB