1. 20 Jul, 2022 3 commits
    • Eric W. Biederman's avatar
      signal: Drop signals received after a fatal signal has been processed · 9a95f78e
      Eric W. Biederman authored
      In 403bad72 ("coredump: only SIGKILL should interrupt the
      coredumping task") Oleg modified the kernel to drop all signals that
      come in during a coredump except SIGKILL, and suggested that it might
      be a good idea to generalize that to other cases after the process has
      received a fatal signal.
      
      Semantically it does not make sense to perform any signal delivery
      after the process has already been killed.
      
      When a signal is sent while a process is dying today the signal is
      placed in the signal queue by __send_signal and a single task of the
      process is woken up with signal_wake_up, if there are any tasks that
      have not set PF_EXITING.
      
      Take things one step farther and have prepare_signal report that all
      signals that come after a process has been killed should be ignored.
      While retaining the historical exception of allowing SIGKILL to
      interrupt coredumps.
      
      Update the comment in fs/coredump.c to make it clear coredumps are
      special in being able to receive SIGKILL.
      
      This changes things so that a process stopped in PTRACE_EVENT_EXIT can
      not be made to escape it's ptracer and finish exiting by sending it
      SIGKILL.  That a process can be made to leave PTRACE_EVENT_EXIT and
      escape it's tracer by sending the process a SIGKILL has been
      complicating tracer's for no apparent advantage.  If the process needs
      to be made to leave PTRACE_EVENT_EXIT all that needs to happen is to
      kill the proceses's tracer.  This differs from the coredump code where
      there is no other mechanism besides honoring SIGKILL to expedite the
      end of coredumping.
      
      Link: https://lkml.kernel.org/r/875yksd4s9.fsf_-_@email.froward.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      9a95f78e
    • Eric W. Biederman's avatar
      signal: Guarantee that SIGNAL_GROUP_EXIT is set on process exit · d80f7d7b
      Eric W. Biederman authored
      Track how many threads have not started exiting and when the last
      thread starts exiting set SIGNAL_GROUP_EXIT.
      
      This guarantees that SIGNAL_GROUP_EXIT will get set when a process
      exits.  In practice this achieves nothing as glibc's implementation of
      _exit calls sys_group_exit then sys_exit.  While glibc's implemenation
      of pthread_exit calls exit (which cleansup and calls _exit) if it is
      the last thread and sys_exit if it is the last thread.
      
      This means the only way the kernel might observe a process that does
      not set call exit_group is if the language runtime does not use glibc.
      
      With more cleanups I hope to move the decrement of quick_threads
      earlier.
      
      Link: https://lkml.kernel.org/r/87bkukd4tc.fsf_-_@email.froward.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      d80f7d7b
    • Eric W. Biederman's avatar
      signal: Ensure SIGNAL_GROUP_EXIT gets set in do_group_exit · cbe9dac3
      Eric W. Biederman authored
      The function do_group_exit has an optimization that avoids taking
      siglock and doing the work to find other threads in the signal group
      and shutting them down.
      
      It is very desirable for SIGNAL_GROUP_EXIT to always been set whenever
      it is decided for the process to exit.  That ensures only a single
      place needs to be tested, and a single bit of state needs to be looked
      at.  This makes the optimization in do_group_exit counter productive.
      
      Make the code and maintenance simpler by removing this unnecessary
      option.
      
      Link: https://lkml.kernel.org/r/87letod4v3.fsf_-_@email.froward.int.ebiederm.orgSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      cbe9dac3
  2. 17 Jul, 2022 15 commits
  3. 16 Jul, 2022 12 commits
  4. 15 Jul, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 9b59ec8d
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A fix to avoid printing a warning when modules do not exercise any
         errata-dependent behavior and the SiFive errata are enabled.
      
       - A fix to the Microchip PFSOC to attach the L2 cache to the CPU nodes.
      
      * tag 'riscv-for-linus-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: don't warn for sifive erratas in modules
        riscv: dts: microchip: hook up the mpfs' l2cache
      9b59ec8d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · a8ebfcd3
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "RISC-V:
         - Fix missing PAGE_PFN_MASK
      
         - Fix SRCU deadlock caused by kvm_riscv_check_vcpu_requests()
      
        x86:
         - Fix for nested virtualization when TSC scaling is active
      
         - Estimate the size of fastcc subroutines conservatively, avoiding
           disastrous underestimation when return thunks are enabled
      
         - Avoid possible use of uninitialized fields of 'struct
           kvm_lapic_irq'
      
        Generic:
         - Mark as such the boolean values available from the statistics file
           descriptors
      
         - Clarify statistics documentation"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: emulate: do not adjust size of fastop and setcc subroutines
        KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op()
        Documentation: kvm: clarify histogram units
        kvm: stats: tell userspace which values are boolean
        x86/kvm: fix FASTOP_SIZE when return thunks are enabled
        KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1
        RISC-V: KVM: Fix SRCU deadlock caused by kvm_riscv_check_vcpu_requests()
        riscv: Fix missing PAGE_PFN_MASK
      a8ebfcd3
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.19-rc7' of https://github.com/ceph/ceph-client · 1ce9d792
      Linus Torvalds authored
      Pull ceph fix from Ilya Dryomov:
       "A folio locking fixup that Xiubo and David cooperated on, marked for
        stable. Most of it is in netfs but I picked it up into ceph tree on
        agreement with David"
      
      * tag 'ceph-for-5.19-rc7' of https://github.com/ceph/ceph-client:
        netfs: do not unlock and put the folio twice
      1ce9d792
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 8006112d
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few driver specific fixes, none especially remarkable, plus a
        MAINTAINERS file update due to the previous maintainer for the NXP
        FSPI driver having left the company"
      
      * tag 'spi-fix-v5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: cadence-quadspi: Remove spi_master_put() in probe failure path
        MAINTAINERS: change the NXP FSPI driver maintainer.
        spi: amd: Limit max transfer and message size
        spi: aspeed: Fix division by zero
        spi: aspeed: Add dev_dbg() to dump the spi-mem direct mapping descriptor
      8006112d
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1c49f281
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Most of the contents are bugfixes for the devicetree files:
      
         - A Qualcomm MSM8974 pin controller regression, caused by a cleanup
           patch that gets partially reverted here.
      
         - Missing properties for Broadcom BCM49xx to fix timer detection and
           SMP boot.
      
         - Fix touchscreen pinctrl for imx6ull-colibri board
      
         - Multiple fixes for Rockchip rk3399 based machines including the vdu
           clock-rate fix, otg port fix on Quartz64-A and ethernet on
           Quartz64-B
      
         - Fixes for misspelled DT contents causing minor problems on
           imx6qdl-ts7970m, orangepi-zero, sama5d2, kontron-kswitch-d10, and
           ls1028a
      
        And a couple of changes elsewhere:
      
         - Fix binding for Allwinner D1 display pipeline
      
         - Trivial code fixes to the TEE and reset controller driver
           subsystems and the rockchip platform code.
      
         - Multiple updates to the MAINTAINERS files, marking the Palm Treo
           support as orphaned, and fixing some entries for added or changed
           file names"
      
      * tag 'soc-fixes-5.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (21 commits)
        arm64: dts: broadcom: bcm4908: Fix cpu node for smp boot
        arm64: dts: broadcom: bcm4908: Fix timer node for BCM4906 SoC
        ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero
        ARM: dts: at91: sama5d2: Fix typo in i2s1 node
        tee: tee_get_drvdata(): fix description of return value
        optee: Remove duplicate 'of' in two places.
        ARM: dts: kswitch-d10: use open drain mode for coma-mode pins
        ARM: dts: colibri-imx6ull: fix snvs pinmux group
        optee: smc_abi.c: fix wrong pointer passed to IS_ERR/PTR_ERR()
        MAINTAINERS: add polarfire rng, pci and clock drivers
        MAINTAINERS: mark ARM/PALM TREO SUPPORT orphan
        ARM: dts: imx6qdl-ts7970: Fix ngpio typo and count
        arm64: dts: ls1028a: Update SFP node to include clock
        dt-bindings: display: sun4i: Fix D1 pipeline count
        ARM: dts: qcom: msm8974: re-add missing pinctrl
        reset: Fix devm bulk optional exclusive control getter
        MAINTAINERS: rectify entry for SYNOPSYS AXS10x RESET CONTROLLER DRIVER
        ARM: rockchip: Add missing of_node_put() in rockchip_suspend_init()
        arm64: dts: rockchip: Assign RK3399 VDU clock rate
        arm64: dts: rockchip: Fix Quartz64-A dwc3 otg port behavior
        ...
      1c49f281
    • David Sterba's avatar
      Revert "btrfs: turn delayed_nodes_tree into an XArray" · 088aea3b
      David Sterba authored
      This reverts commit 253bf575.
      
      Revert the xarray conversion, there's a problem with potential
      sleep-inside-spinlock [1] when calling xa_insert that triggers GFP_NOFS
      allocation. The radix tree used the preloading mechanism to avoid
      sleeping but this is not available in xarray.
      
      Conversion from spin lock to mutex is possible but at time of rc6 is
      riskier than a clean revert.
      
      [1] https://lore.kernel.org/linux-btrfs/cover.1657097693.git.fdmanana@suse.com/Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      088aea3b
    • David Sterba's avatar
      Revert "btrfs: turn name_cache radix tree into XArray in send_ctx" · 5b8418b8
      David Sterba authored
      This reverts commit 40769420.
      
      Revert the xarray conversion, there's a problem with potential
      sleep-inside-spinlock [1] when calling xa_insert that triggers GFP_NOFS
      allocation. The radix tree used the preloading mechanism to avoid
      sleeping but this is not available in xarray.
      
      Conversion from spin lock to mutex is possible but at time of rc6 is
      riskier than a clean revert.
      
      [1] https://lore.kernel.org/linux-btrfs/cover.1657097693.git.fdmanana@suse.com/Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      5b8418b8
    • David Sterba's avatar
      Revert "btrfs: turn fs_info member buffer_radix into XArray" · 01cd3909
      David Sterba authored
      This reverts commit 8ee92268.
      
      Revert the xarray conversion, there's a problem with potential
      sleep-inside-spinlock [1] when calling xa_insert that triggers GFP_NOFS
      allocation. The radix tree used the preloading mechanism to avoid
      sleeping but this is not available in xarray.
      
      Conversion from spin lock to mutex is possible but at time of rc6 is
      riskier than a clean revert.
      
      [1] https://lore.kernel.org/linux-btrfs/cover.1657097693.git.fdmanana@suse.com/Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      01cd3909
    • David Sterba's avatar
      Revert "btrfs: turn fs_roots_radix in btrfs_fs_info into an XArray" · fc7cbcd4
      David Sterba authored
      This reverts commit 48b36a60.
      
      Revert the xarray conversion, there's a problem with potential
      sleep-inside-spinlock [1] when calling xa_insert that triggers GFP_NOFS
      allocation. The radix tree used the preloading mechanism to avoid
      sleeping but this is not available in xarray.
      
      Conversion from spin lock to mutex is possible but at time of rc6 is
      riskier than a clean revert.
      
      [1] https://lore.kernel.org/linux-btrfs/cover.1657097693.git.fdmanana@suse.com/Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      fc7cbcd4
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.19-4' of... · 2a347a06
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Highlights:
      
         - Fix brightness key events getting reported twice on some Dells.
           Regression caused by recent Panasonic hotkey fixes
      
         - Fix poweroff no longer working on some devices regression caused
           by recent poweroff handler rework
      
         - Mark new (in 5.19) Intel IFS driver as broken, because of some
           issues surrounding the userspace (sysfs) API which need to be
           cleared up
      
         - Some hardware-id / quirk additions"
      
      * tag 'platform-drivers-x86-v5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        ACPI: video: Fix acpi_video_handles_brightness_key_presses()
        platform/x86: intel_atomisp2_led: Also turn off the always-on camera LED on the Asus T100TAF
        platform/x86/intel/ifs: Mark as BROKEN
        platform/x86: asus-wmi: Add key mappings
        efi: Fix efi_power_off() not being run before acpi_power_off() when necessary
        platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830/1050 poweroff again
        platform/x86: gigabyte-wmi: add support for B660I AORUS PRO DDR4
        platform/x86/amd/pmc: Add new platform support
        platform/x86/amd/pmc: Add new acpi id for PMC controller
      2a347a06