1. 01 Mar, 2023 11 commits
    • Linus Torvalds's avatar
      capability: just use a 'u64' instead of a 'u32[2]' array · f122a08b
      Linus Torvalds authored
      Back in 2008 we extended the capability bits from 32 to 64, and we did
      it by extending the single 32-bit capability word from one word to an
      array of two words.  It was then obfuscated by hiding the "2" behind two
      macro expansions, with the reasoning being that maybe it gets extended
      further some day.
      
      That reasoning may have been valid at the time, but the last thing we
      want to do is to extend the capability set any more.  And the array of
      values not only causes source code oddities (with loops to deal with
      it), but also results in worse code generation.  It's a lose-lose
      situation.
      
      So just change the 'u32[2]' into a 'u64' and be done with it.
      
      We still have to deal with the fact that the user space interface is
      designed around an array of these 32-bit values, but that was the case
      before too, since the array layouts were different (ie user space
      doesn't use an array of 32-bit values for individual capability masks,
      but an array of 32-bit slices of multiple masks).
      
      So that marshalling of data is actually simplified too, even if it does
      remain somewhat obscure and odd.
      
      This was all triggered by my reaction to the new "cap_isidentical()"
      introduced recently.  By just using a saner data structure, it went from
      
      	unsigned __capi;
      	CAP_FOR_EACH_U32(__capi) {
      		if (a.cap[__capi] != b.cap[__capi])
      			return false;
      	}
      	return true;
      
      to just being
      
      	return a.val == b.val;
      
      instead.  Which is rather more obvious both to humans and to compilers.
      
      Cc: Mateusz Guzik <mjguzik@gmail.com>
      Cc: Casey Schaufler <casey@schaufler-ca.com>
      Cc: Serge Hallyn <serge@hallyn.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Paul Moore <paul@paul-moore.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f122a08b
    • Linus Torvalds's avatar
      Merge tag 'sh-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux · 1d2aea1b
      Linus Torvalds authored
      Pull sh updates from John Paul Adrian Glaubitz:
      
       - regression fix in connection with the rtl8169 driver on SuperH boards
         that was introduced when the driver was switched to use
         devm_clk_get_optional_enabled() to simplify the code (Geert
         Uytterhoeven)
      
       - build warning fix to allow the kernel to be built with CONFIG_WERROR
         enabled (Michael Karcher)
      
      * tag 'sh-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux:
        sh: clk: Fix clk_enable() to return 0 on NULL clk
        sh: intc: Avoid spurious sizeof-pointer-div warning
      1d2aea1b
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.3' of... · a8356cdb
      Linus Torvalds authored
      Merge tag 'loongarch-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Make -mstrict-align configurable
      
       - Add kernel relocation and KASLR support
      
       - Add single kernel image implementation for kdump
      
       - Add hardware breakpoints/watchpoints support
      
       - Add kprobes/kretprobes/kprobes_on_ftrace support
      
       - Add LoongArch support for some selftests.
      
      * tag 'loongarch-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: (23 commits)
        selftests/ftrace: Add LoongArch kprobe args string tests support
        selftests/seccomp: Add LoongArch selftesting support
        tools: Add LoongArch build infrastructure
        samples/kprobes: Add LoongArch support
        LoongArch: Mark some assembler symbols as non-kprobe-able
        LoongArch: Add kprobes on ftrace support
        LoongArch: Add kretprobes support
        LoongArch: Add kprobes support
        LoongArch: Simulate branch and PC* instructions
        LoongArch: ptrace: Add hardware single step support
        LoongArch: ptrace: Add function argument access API
        LoongArch: ptrace: Expose hardware breakpoints to debuggers
        LoongArch: Add hardware breakpoints/watchpoints support
        LoongArch: kdump: Add crashkernel=YM handling
        LoongArch: kdump: Add single kernel image implementation
        LoongArch: Add support for kernel address space layout randomization (KASLR)
        LoongArch: Add support for kernel relocation
        LoongArch: Add la_abs macro implementation
        LoongArch: Add JUMP_VIRT_ADDR macro implementation to avoid using la.abs
        LoongArch: Use la.pcrel instead of la.abs when it's trivially possible
        ...
      a8356cdb
    • Linus Torvalds's avatar
      Merge tag 'uml-for-linus-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux · 64e85168
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Add support for rust (yay!)
      
       - Add support for LTO
      
       - Add platform bus support to virtio-pci
      
       - Various virtio fixes
      
       - Coding style, spelling cleanups
      
      * tag 'uml-for-linus-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux: (27 commits)
        Documentation: rust: Fix arch support table
        uml: vector: Remove unused definitions VECTOR_{WRITE,HEADERS}
        um: virt-pci: properly remove PCI device from bus
        um: virtio_uml: move device breaking into workqueue
        um: virtio_uml: mark device as unregistered when breaking it
        um: virtio_uml: free command if adding to virtqueue failed
        UML: define RUNTIME_DISCARD_EXIT
        virt-pci: add platform bus support
        um-virt-pci: Make max delay configurable
        um: virt-pci: implement pcibios_get_phb_of_node()
        um: Support LTO
        um: put power options in a menu
        um: Use CFLAGS_vmlinux
        um: Prevent building modules incompatible with MODVERSIONS
        um: Avoid pcap multiple definition errors
        um: Make the definition of cpu_data more compatible
        x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
        rust: arch/um: Add support for CONFIG_RUST under x86_64 UML
        rust: arch/um: Disable FP/SIMD instruction to match x86
        rust: arch/um: Use 'pie' relocation mode under UML
        ...
      64e85168
    • Linus Torvalds's avatar
      Merge tag 'ubifs-for-linus-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · e31b283a
      Linus Torvalds authored
      Pull jffs2, ubi and ubifs updates from Richard Weinberger:
       "JFFS2:
         - Fix memory corruption in error path
         - Spelling and coding style fixes
      
        UBI:
         - Switch to BLK_MQ_F_BLOCKING in ubiblock
         - Wire up partent device (for sysfs)
         - Multiple UAF bugfixes
         - Fix for an infinite loop in WL error path
      
        UBIFS:
         - Fix for multiple memory leaks in error paths
         - Fixes for wrong space accounting
         - Minor cleanups
         - Spelling and coding style fixes"
      
      * tag 'ubifs-for-linus-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: (36 commits)
        ubi: block: Fix a possible use-after-free bug in ubiblock_create()
        ubifs: make kobj_type structures constant
        mtd: ubi: block: wire-up device parent
        mtd: ubi: wire-up parent MTD device
        ubi: use correct names in function kernel-doc comments
        ubi: block: set BLK_MQ_F_BLOCKING
        jffs2: Fix list_del corruption if compressors initialized failed
        jffs2: Use function instead of macro when initialize compressors
        jffs2: fix spelling mistake "neccecary"->"necessary"
        ubifs: Fix kernel-doc
        ubifs: Fix some kernel-doc comments
        UBI: Fastmap: Fix kernel-doc
        ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
        ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
        ubi: fastmap: Fix missed fm_anchor PEB in wear-leveling after disabling fastmap
        ubifs: ubifs_releasepage: Remove ubifs_assert(0) to valid this process
        ubifs: ubifs_writepage: Mark page dirty after writing inode failed
        ubifs: dirty_cow_znode: Fix memleak in error handling path
        ubifs: Re-statistic cleaned znode count if commit failed
        ubi: Fix permission display of the debugfs files
        ...
      e31b283a
    • Linus Torvalds's avatar
      Merge tag '9p-6.3-for-linus-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 3808330b
      Linus Torvalds authored
      Pull 9p updates from Eric Van Hensbergen:
      
       - some fixes and cleanup setting up for a larger set of performance
         patches I've been working on
      
       - a contributed fixes relating to 9p/rdma
      
       - some contributed fixes relating to 9p/xen
      
      * tag '9p-6.3-for-linus-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: fix error reporting in v9fs_dir_release
        net/9p: fix bug in client create for .L
        9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
        9p/xen: fix connection sequence
        9p/xen: fix version parsing
        fs/9p: Expand setup of writeback cache to all levels
        net/9p: Adjust maximum MSIZE to account for p9 header
      3808330b
    • Linus Torvalds's avatar
      Merge tag 'jfs-6.3' of https://github.com/kleikamp/linux-shaggy · 6e110580
      Linus Torvalds authored
      Pull jfs update from Dave Kleikamp:
       "Just one simple sanity check"
      
      * tag 'jfs-6.3' of https://github.com/kleikamp/linux-shaggy:
        fs/jfs: fix shift exponent db_agl2size negative
      6e110580
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · e103eced
      Linus Torvalds authored
      Pull exfat updates from Namjae Jeon:
      
       - Handle vendor extension and allocation entries as unrecognized benign
         secondary entries
      
       - Fix wrong ->i_blocks on devices with non-512 byte sector
      
       - Add the check to avoid returning -EIO from exfat_readdir() at current
         position exceeding the directory size
      
       - Fix a bug that reach the end of the directory stream at a position
         not aligned with the dentry size
      
       - Redefine DIR_DELETED as 0xFFFFFFF7, the bad cluster number
      
       - Two cleanup fixes and fix cluster leakage in error handling
      
      * tag 'exfat-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: fix the newly allocated clusters are not freed in error handling
        exfat: don't print error log in normal case
        exfat: remove unneeded code from exfat_alloc_cluster()
        exfat: handle unreconized benign secondary entries
        exfat: fix inode->i_blocks for non-512 byte sector size device
        exfat: redefine DIR_DELETED as the bad cluster number
        exfat: fix reporting fs error when reading dir beyond EOF
        exfat: fix unexpected EOF while reading dir
      e103eced
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · c0927a7a
      Linus Torvalds authored
      Pull moar xfs updates from Darrick Wong:
       "This contains a fix for a deadlock in the allocator. It continues the
        slow march towards being able to offline AGs, and it refactors the
        interface to the xfs allocator to be less indirection happy.
      
        Summary:
      
         - Fix a deadlock in the free space allocator due to the AG-walking
           algorithm forgetting to follow AG-order locking rules
      
         - Make the inode allocator prefer existing free inodes instead of
           failing to allocate new inode chunks when free space is low
      
         - Set minleft correctly when setting allocator parameters for bmap
           changes
      
         - Fix uninitialized variable access in the getfsmap code
      
         - Make a distinction between active and passive per-AG structure
           references. For now, active references are taken to perform some
           work in an AG on behalf of a high level operation; passive
           references are used by lower level code to finish operations
           started by other threads. Eventually this will become part of
           online shrink
      
         - Split out all the different allocator strategies into separate
           functions to move us away from design antipattern of filling out a
           huge structure for various differentish things and issuing a single
           function multiplexing call
      
         - Various cleanups in the filestreams allocator code, which we might
           very well want to deprecate instead of continuing
      
         - Fix a bug with the agi rotor code that was introduced earlier in
           this series"
      
      * tag 'xfs-6.3-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (44 commits)
        xfs: restore old agirotor behavior
        xfs: fix uninitialized variable access
        xfs: refactor the filestreams allocator pick functions
        xfs: return a referenced perag from filestreams allocator
        xfs: pass perag to filestreams tracing
        xfs: use for_each_perag_wrap in xfs_filestream_pick_ag
        xfs: track an active perag reference in filestreams
        xfs: factor out MRU hit case in xfs_filestream_select_ag
        xfs: remove xfs_filestream_select_ag() longest extent check
        xfs: merge new filestream AG selection into xfs_filestream_select_ag()
        xfs: merge filestream AG lookup into xfs_filestream_select_ag()
        xfs: move xfs_bmap_btalloc_filestreams() to xfs_filestreams.c
        xfs: use xfs_bmap_longest_free_extent() in filestreams
        xfs: get rid of notinit from xfs_bmap_longest_free_extent
        xfs: factor out filestreams from xfs_bmap_btalloc_nullfb
        xfs: convert trim to use for_each_perag_range
        xfs: convert xfs_alloc_vextent_iterate_ags() to use perag walker
        xfs: move the minimum agno checks into xfs_alloc_vextent_check_args
        xfs: fold xfs_alloc_ag_vextent() into callers
        xfs: move allocation accounting to xfs_alloc_vextent_set_fsbno()
        ...
      c0927a7a
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 1899946a
      Linus Torvalds authored
      Pull i3c updates from Alexandre Belloni:
       "Subsystem:
         - transfer pid from boardinfo to device info
      
        Drivers:
         - dw-i3c-master: stop hardcoding initial speed"
      
      * tag 'i3c/for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: master: dw: stop hardcoding initial speed
        i3c: transfer pid from boardinfo to device info
      1899946a
    • Linus Torvalds's avatar
      Merge tag 'docs-6.3-2' of git://git.lwn.net/linux · b1f1382a
      Linus Torvalds authored
      Pull Documentation stragglers from Jonathan Corbet:
       "A handful of documentation patches that were ready before the merge
        window, but which I didn't get merged for the first round:
      
         - A recommendation from Thorsten (also akpm) on use of Link tags to
           point out problem reports
      
         - Some front-page formatting tweaks
      
         - Another Spanish translation
      
         - One typo(ish) fix"
      
      * tag 'docs-6.3-2' of git://git.lwn.net/linux:
        docs: recommend using Link: whenever using Reported-by:
        Documentation: front page: use recommended heading adornments
        docs/sp_SP: Add process programming-language translation
        docs: locking: refer to the actual existing config names
      b1f1382a
  2. 28 Feb, 2023 11 commits
  3. 27 Feb, 2023 18 commits