1. 26 Jul, 2024 12 commits
    • Linus Torvalds's avatar
      Merge tag 's390-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 65ad409e
      Linus Torvalds authored
      Pull more s390 updates from Vasily Gorbik:
      
       - Fix KMSAN build breakage caused by the conflict between s390 and
         mm-stable trees
      
       - Add KMSAN page markers for ptdump
      
       - Add runtime constant support
      
       - Fix __pa/__va for modules under non-GPL licenses by exporting
         necessary vm_layout struct with EXPORT_SYMBOL to prevent linkage
         problems
      
       - Fix an endless loop in the CF_DIAG event stop in the CPU Measurement
         Counter Facility code when the counter set size is zero
      
       - Remove the PROTECTED_VIRTUALIZATION_GUEST config option and enable
         its functionality by default
      
       - Support allocation of multiple MSI interrupts per device and improve
         logging of architecture-specific limitations
      
       - Add support for lowcore relocation as a debugging feature to catch
         all null ptr dereferences in the kernel address space, improving
         detection beyond the current implementation's limited write access
         protection
      
       - Clean up and rework CPU alternatives to allow for callbacks and early
         patching for the lowcore relocation
      
      * tag 's390-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
        s390: Remove protvirt and kvm config guards for uv code
        s390/boot: Add cmdline option to relocate lowcore
        s390/kdump: Make kdump ready for lowcore relocation
        s390/entry: Make system_call() ready for lowcore relocation
        s390/entry: Make ret_from_fork() ready for lowcore relocation
        s390/entry: Make __switch_to() ready for lowcore relocation
        s390/entry: Make restart_int_handler() ready for lowcore relocation
        s390/entry: Make mchk_int_handler() ready for lowcore relocation
        s390/entry: Make int handlers ready for lowcore relocation
        s390/entry: Make pgm_check_handler() ready for lowcore relocation
        s390/entry: Add base register to CHECK_VMAP_STACK/CHECK_STACK macro
        s390/entry: Add base register to SIEEXIT macro
        s390/entry: Add base register to MBEAR macro
        s390/entry: Make __sie64a() ready for lowcore relocation
        s390/head64: Make startup code ready for lowcore relocation
        s390: Add infrastructure to patch lowcore accesses
        s390/atomic_ops: Disable flag outputs constraint for GCC versions below 14.2.0
        s390/entry: Move SIE indicator flag to thread info
        s390/nmi: Simplify ptregs setup
        s390/alternatives: Remove alternative facility list
        ...
      65ad409e
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · a6294b5b
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "The usual summary below, but the main fix is for the fast GUP lockless
        page-table walk when we have a combination of compile-time and
        run-time folding of the p4d and the pud respectively.
      
         - Remove some redundant Kconfig conditionals
      
         - Fix string output in ptrace selftest
      
         - Fix fast GUP crashes in some page-table configurations
      
         - Remove obsolete linker option when building the vDSO
      
         - Fix some sysreg field definitions for the GIC"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Fix lockless walks with static and dynamic page-table folding
        arm64/sysreg: Correct the values for GICv4.1
        arm64/vdso: Remove --hash-style=sysv
        kselftest: missing arg in ptrace.c
        arm64/Kconfig: Remove redundant 'if HAVE_FUNCTION_GRAPH_TRACER'
        arm64: remove redundant 'if HAVE_ARCH_KASAN' in Kconfig
      a6294b5b
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.11-rc1' of https://github.com/ceph/ceph-client · 6467dfdf
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "A small patchset to address bogus I/O errors and ultimately an
        assertion failure in the face of watch errors with -o exclusive
        mappings in RBD marked for stable and some assorted CephFS fixes"
      
      * tag 'ceph-for-6.11-rc1' of https://github.com/ceph/ceph-client:
        rbd: don't assume rbd_is_lock_owner() for exclusive mappings
        rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings
        rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait
        ceph: fix incorrect kmalloc size of pagevec mempool
        ceph: periodically flush the cap releases
        ceph: convert comma to semicolon in __ceph_dentry_dir_lease_touch()
        ceph: use cap_wait_list only if debugfs is enabled
      6467dfdf
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-6.11-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 732c2753
      Linus Torvalds authored
      Pull more erofs updates from Gao Xiang:
      
       - Support STATX_DIOALIGN and FS_IOC_GETFSSYSFSPATH
      
       - Fix a race of LZ4 decompression due to recent refactoring
      
       - Another multi-page folio adaption in erofs_bread()
      
      * tag 'erofs-for-6.11-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: convert comma to semicolon
        erofs: support multi-page folios for erofs_bread()
        erofs: add support for FS_IOC_GETFSSYSFSPATH
        erofs: fix race in z_erofs_get_gbuf()
        erofs: support STATX_DIOALIGN
      732c2753
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · dd90ad50
      Linus Torvalds authored
      Pull struct file leak fixes from Al Viro:
       "a couple of leaks on failure exits missing fdput()"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        lirc: rc_dev_get_from_fd(): fix file leak
        powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap()
      dd90ad50
    • Linus Torvalds's avatar
      arm64: allow installing compressed image by default · 4c7be57f
      Linus Torvalds authored
      On arm64 we build compressed images, but "make install" by default will
      install the old non-compressed one.  To actually get the compressed
      image install, you need to use "make zinstall", which is not the usual
      way to install a kernel.
      
      Which may not sound like much of an issue, but when you deal with
      multiple architectures (and years of your fingers knowing the regular
      "make install" incantation), this inconsistency is pretty annoying.
      
      But as Will Deacon says:
       "Sadly, bootloaders being as top quality as you might expect, I don't
        think we're in a position to rely on decompressor support across the
        board. Our Image.gz is literally just that -- we don't have a built-in
        decompressor (nor do I think we want to rush into that again after the
        fun we had on arm32) and the recent EFI zboot support solves that
        problem for platforms using EFI.
      
        Changing the default 'install' target terrifies me. There are bound to
        be folks with embedded boards who've scripted this and we could really
        ruin their day if we quietly give them a compressed kernel that their
        bootloader doesn't know how to handle :/"
      
      So make this conditional on a new "COMPRESSED_INSTALL" option.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4c7be57f
    • Linus Torvalds's avatar
      Merge tag 'bitmap-6.11-rc1' of https://github.com:/norov/linux · 51c47675
      Linus Torvalds authored
      Pull bitmap updates from Yury Norov:
       "Random fixes"
      
      * tag 'bitmap-6.11-rc1' of https://github.com:/norov/linux:
        riscv: Remove unnecessary int cast in variable_fls()
        radix tree test suite: put definition of bitmap_clear() into lib/bitmap.c
        bitops: Add a comment explaining the double underscore macros
        lib: bitmap: add missing MODULE_DESCRIPTION() macros
        cpumask: introduce assign_cpu() macro
      51c47675
    • Chen Ni's avatar
      erofs: convert comma to semicolon · 14e9283f
      Chen Ni authored
      Replace a comma between expression statements by a semicolon.
      Signed-off-by: default avatarChen Ni <nichen@iscas.ac.cn>
      Link: https://lore.kernel.org/r/20240724020721.2389738-1-nichen@iscas.ac.cnReviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      14e9283f
    • Gao Xiang's avatar
      erofs: support multi-page folios for erofs_bread() · 5d3bb77e
      Gao Xiang authored
      If the requested page is part of the previous multi-page folio, there
      is no need to call read_mapping_folio() again.
      
      Also, get rid of the remaining one of page->index [1] in our codebase.
      
      [1] https://lore.kernel.org/r/Zp8fgUSIBGQ1TN0D@casper.infradead.org
      
      Cc: Matthew Wilcox <willy@infradead.org>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      Link: https://lore.kernel.org/r/20240723073024.875290-1-hsiangkao@linux.alibaba.com
      5d3bb77e
    • Huang Xiaojia's avatar
      erofs: add support for FS_IOC_GETFSSYSFSPATH · 684b290a
      Huang Xiaojia authored
      FS_IOC_GETFSSYSFSPATH ioctl exposes /sys/fs path of a given filesystem,
      potentially standarizing sysfs reporting. This patch add support for
      FS_IOC_GETFSSYSFSPATH for erofs, "erofs/<dev>" will be outputted for bdev
      cases, "erofs/[domain_id,]<fs_id>" will be outputted for fscache cases.
      Signed-off-by: default avatarHuang Xiaojia <huangxiaojia2@huawei.com>
      Link: https://lore.kernel.org/r/20240720082335.441563-1-huangxiaojia2@huawei.comReviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      684b290a
    • Gao Xiang's avatar
      erofs: fix race in z_erofs_get_gbuf() · 7dc5537c
      Gao Xiang authored
      In z_erofs_get_gbuf(), the current task may be migrated to another
      CPU between `z_erofs_gbuf_id()` and `spin_lock(&gbuf->lock)`.
      
      Therefore, z_erofs_put_gbuf() will trigger the following issue
      which was found by stress test:
      
      <2>[772156.434168] kernel BUG at fs/erofs/zutil.c:58!
      ..
      <4>[772156.435007]
      <4>[772156.439237] CPU: 0 PID: 3078 Comm: stress Kdump: loaded Tainted: G            E      6.10.0-rc7+ #2
      <4>[772156.439239] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 1.0.0 01/01/2017
      <4>[772156.439241] pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
      <4>[772156.439243] pc : z_erofs_put_gbuf+0x64/0x70 [erofs]
      <4>[772156.439252] lr : z_erofs_lz4_decompress+0x600/0x6a0 [erofs]
      ..
      <6>[772156.445958] stress (3127): drop_caches: 1
      <4>[772156.446120] Call trace:
      <4>[772156.446121]  z_erofs_put_gbuf+0x64/0x70 [erofs]
      <4>[772156.446761]  z_erofs_lz4_decompress+0x600/0x6a0 [erofs]
      <4>[772156.446897]  z_erofs_decompress_queue+0x740/0xa10 [erofs]
      <4>[772156.447036]  z_erofs_runqueue+0x428/0x8c0 [erofs]
      <4>[772156.447160]  z_erofs_readahead+0x224/0x390 [erofs]
      ..
      
      Fixes: f36f3010 ("erofs: rename per-CPU buffers to global buffer pool and make it configurable")
      Cc: <stable@vger.kernel.org> # 6.10+
      Reviewed-by: default avatarChunhai Guo <guochunhai@vivo.com>
      Reviewed-by: default avatarSandeep Dhavale <dhavale@google.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      Link: https://lore.kernel.org/r/20240722035110.3456740-1-hsiangkao@linux.alibaba.com
      7dc5537c
    • Hongbo Li's avatar
      erofs: support STATX_DIOALIGN · 9c421ef3
      Hongbo Li authored
      Add support for STATX_DIOALIGN to EROFS, so that direct I/O
      alignment restrictions are exposed to userspace in a generic
      way.
      
      [Before]
      ```
      ./statx_test /mnt/erofs/testfile
      statx(/mnt/erofs/testfile) = 0
      dio mem align:0
      dio offset align:0
      ```
      
      [After]
      ```
      ./statx_test /mnt/erofs/testfile
      statx(/mnt/erofs/testfile) = 0
      dio mem align:512
      dio offset align:512
      ```
      Signed-off-by: default avatarHongbo Li <lihongbo22@huawei.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
      Link: https://lore.kernel.org/r/20240718083243.2485437-1-hsiangkao@linux.alibaba.com
      9c421ef3
  2. 25 Jul, 2024 28 commits