1. 26 Jun, 2023 6 commits
    • 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
    • Linus Torvalds's avatar
      Merge tag 'v6.5/fs.ntfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 5c1c88cd
      Linus Torvalds authored
      Pull ntfs updates from Christian Brauner:
       "A pile of various smaller fixes for ntfs"
      
      * tag 'v6.5/fs.ntfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        ntfs: do not dereference a null ctx on error
        ntfs: Remove unneeded semicolon
        ntfs: Correct spelling
        ntfs: remove redundant initialization to pointer cb_sb_start
      5c1c88cd
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-6.5' of https://github.com/ojeda/linux · 1f268d6d
      Linus Torvalds authored
      Pull auxdisplay update from Miguel Ojeda:
       "A single cleanup for i2c drivers to switch them back to use
        '.probe()'"
      
      * tag 'auxdisplay-6.5' of https://github.com/ojeda/linux:
        auxdisplay: Switch i2c drivers back to use .probe()
      1f268d6d
    • Linus Torvalds's avatar
      Merge tag 'rust-6.5' of https://github.com/Rust-for-Linux/linux · a1257b5e
      Linus Torvalds authored
      Pull rust updates from Miguel Ojeda:
       "A fairly small one in terms of feature additions. Most of the changes
        in terms of lines come from the upgrade to the new version of the
        toolchain (which in turn is big due to the vendored 'alloc' crate).
      
        Upgrade to Rust 1.68.2:
      
         - This is the first such upgrade, and we will try to update it often
           from now on, in order to remain close to the latest release, until
           a minimum version (which is "in the future") can be established.
      
           The upgrade brings the stabilization of 4 features we used (and 2
           more that we used in our old 'rust' branch).
      
           Commit 3ed03f4d ("rust: upgrade to Rust 1.68.2") contains the
           details and rationale.
      
        pin-init API:
      
         - Several internal improvements and fixes to the pin-init API, e.g.
           allowing to use 'Self' in a struct definition with '#[pin_data]'.
      
        'error' module:
      
         - New 'name()' method for the 'Error' type (with 'errname()'
           integration), used to implement the 'Debug' trait for 'Error'.
      
         - Add error codes from 'include/linux/errno.h' to the list of Rust
           'Error' constants.
      
         - Allow specifying error type on the 'Result' type (with the default
           still being our usual 'Error' type).
      
        'str' module:
      
         - 'TryFrom' implementation for 'CStr', and new 'to_cstring()' method
           based on it.
      
        'sync' module:
      
         - Implement 'AsRef' trait for 'Arc', allowing to use 'Arc' in code
           that is generic over smart pointer types.
      
         - Add 'ptr_eq' method to 'Arc' for easier, less error prone
           comparison between two 'Arc' pointers.
      
         - Reword the 'Send' safety comment for 'Arc', and avoid referencing
           it from the 'Sync' one.
      
        'task' module:
      
         - Implement 'Send' marker for 'Task'.
      
        'types' module:
      
         - Implement 'Send' and 'Sync' markers for 'ARef<T>' when 'T' is
           'AlwaysRefCounted', 'Send' and 'Sync'.
      
        Other changes:
      
         - Documentation improvements and '.gitattributes' change to start
           using the Rust diff driver"
      
      * tag 'rust-6.5' of https://github.com/Rust-for-Linux/linux:
        rust: error: `impl Debug` for `Error` with `errname()` integration
        rust: task: add `Send` marker to `Task`
        rust: specify when `ARef` is thread safe
        rust: sync: reword the `Arc` safety comment for `Sync`
        rust: sync: reword the `Arc` safety comment for `Send`
        rust: sync: implement `AsRef<T>` for `Arc<T>`
        rust: sync: add `Arc::ptr_eq`
        rust: error: add missing error codes
        rust: str: add conversion from `CStr` to `CString`
        rust: error: allow specifying error type on `Result`
        rust: init: update macro expansion example in docs
        rust: macros: replace Self with the concrete type in #[pin_data]
        rust: macros: refactor generics parsing of `#[pin_data]` into its own function
        rust: macros: fix usage of `#[allow]` in `quote!`
        docs: rust: point directly to the standalone installers
        .gitattributes: set diff driver for Rust source code files
        rust: upgrade to Rust 1.68.2
        rust: arc: fix intra-doc link in `Arc<T>::init`
        rust: alloc: clarify what is the upstream version
      a1257b5e
    • Linus Torvalds's avatar
      Merge tag 's390-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9d9a9bf0
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Use correct type for size of memory allocated for ELF core header on
         kernel crash.
      
       - Fix insecure W+X mapping warning when KASAN shadow memory range is
         not aligned on page boundary.
      
       - Avoid allocation of short by one page KASAN shadow memory when the
         original memory range is less than (PAGE_SIZE << 3).
      
       - Fix virtual vs physical address confusion in physical memory
         enumerator. It is not a real issue, since virtual and physical
         addresses are currently the same.
      
       - Set CONFIG_NET_TC_SKB_EXT=y in s390 config files as it is required
         for offloading TC as well as bridges on switchdev capable ConnectX
         devices.
      
      * tag 's390-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/defconfigs: set CONFIG_NET_TC_SKB_EXT=y
        s390/boot: fix physmem_info virtual vs physical address confusion
        s390/kasan: avoid short by one page shadow memory
        s390/kasan: fix insecure W+X mapping warning
        s390/crash: use the correct type for memory allocation
      9d9a9bf0
    • Linus Torvalds's avatar
      Merge tag 'nios2_updates_for_v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux · be5b52dc
      Linus Torvalds authored
      Pull nios2 updates from Dinh Nguyen:
      
       - Convert pgtable constructor/destructors to ptdesc
      
       - Replace strlcpy with strscpy
      
      * tag 'nios2_updates_for_v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
        nios2: Replace all non-returning strlcpy with strscpy
        nios2: Convert __pte_free_tlb() to use ptdescs
      be5b52dc
  2. 25 Jun, 2023 5 commits
  3. 23 Jun, 2023 21 commits
  4. 22 Jun, 2023 8 commits