Skip to content
  1. Jan 22, 2022
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 636b5284
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "Generic:
      
         - selftest compilation fix for non-x86
      
         - KVM: avoid warning on s390 in mark_page_dirty
      
       x86:
      
         - fix page write-protection bug and improve comments
      
         - use binary search to lookup the PMU event filter, add test
      
         - enable_pmu module parameter support for Intel CPUs
      
         - switch blocked_vcpu_on_cpu_lock to raw spinlock
      
         - cleanups of blocked vCPU logic
      
         - partially allow KVM_SET_CPUID{,2} after KVM_RUN (5.16 regression)
      
         - various small fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (46 commits)
        docs: kvm: fix WARNINGs from api.rst
        selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c
        selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c
        kvm: selftests: Do not indent with spaces
        kvm: selftests: sync uapi/linux/kvm.h with Linux header
        selftests: kvm: add amx_test to .gitignore
        KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled
        KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops
        KVM: SVM: Drop AVIC's intermediate avic_set_running() helper
        KVM: VMX: Don't do full kick when handling posted interrupt wakeup
        KVM: VMX: Fold fallback path into triggering posted IRQ helper
        KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ
        KVM: VMX: Don't do full kick when triggering posted interrupt "fails"
        KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU
        KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption
        KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path
        KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs
        KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode
        KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks
        KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers
        ...
      636b5284
    • Linus Torvalds's avatar
      Merge tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · dc5341f4
      Linus Torvalds authored
      Pull more parisc architecture updates from Helge Deller:
       "Fixes and enhancements:
      
         - a memory leak fix in an error path in pdc_stable (Miaoqian Lin)
      
         - two compiler warning fixes in the TOC code
      
         - added autodetection for currently used console type (serial or
           graphics) which inserts console=<type> if it's missing"
      
      * tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
        parisc: Fix missing prototype for 'toc_intr' warning in toc.c
        parisc: Autodetect default output device and set console= kernel parameter
        parisc: Use safer strscpy() in setup_cmdline()
        parisc: Add visible flag to toc_stack variable
      dc5341f4
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 7867e402
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for sv48 paging
      
       - Hart ID mappings are now sparse, which enables more CPUs to come up
         on systems with sparse hart IDs
      
       - A handful of cleanups and fixes
      
      * tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (27 commits)
        RISC-V: nommu_virt: Drop unused SLAB_MERGE_DEFAULT
        RISC-V: Remove redundant err variable
        riscv: dts: sifive unmatched: Add gpio poweroff
        riscv: canaan: remove useless select of non-existing config SYSCON
        RISC-V: Do not use cpumask data structure for hartid bitmap
        RISC-V: Move spinwait booting method to its own config
        RISC-V: Move the entire hart selection via lottery to SMP
        RISC-V: Use __cpu_up_stack/task_pointer only for spinwait method
        RISC-V: Do not print the SBI version during HSM extension boot print
        RISC-V: Avoid using per cpu array for ordered booting
        riscv: default to CONFIG_RISCV_SBI_V01=n
        riscv: fix boolconv.cocci warnings
        riscv: Explicit comment about user virtual address space size
        riscv: Use pgtable_l4_enabled to output mmu_type in cpuinfo
        riscv: Implement sv48 support
        asm-generic: Prepare for riscv use of pud_alloc_one and pud_free
        riscv: Allow to dynamically define VA_BITS
        riscv: Introduce functions to switch pt_ops
        riscv: Split early kasan mapping to prepare sv48 introduction
        riscv: Move KASAN mapping next to the kernel mapping
        ...
      7867e402
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b21bae9a
      Linus Torvalds authored
      Pull arm64 fixes/cleanups from Catalin Marinas:
       "Some fixes that turned up during the merge window:
      
         - Add brackets to the io_stop_wc macro
      
         - Avoid -Warray-bounds warning with the LSE atomics inline asm
      
         - Apply __ro_after_init to memory_limit"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: apply __ro_after_init to memory_limit
        arm64: atomics: lse: Dereference matching size
        asm-generic: Add missing brackets for io_stop_wc macro
      b21bae9a
    • Linus Torvalds's avatar
      Merge tag 'docs-5.17-2' of git://git.lwn.net/linux · 0854dc81
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "Three small documentation fixes"
      
      * tag 'docs-5.17-2' of git://git.lwn.net/linux:
        Documentation: fix firewire.rst ABI file path error
        docs: ftrace: fix ambiguous sentence
        docs: staging/tee.rst: fix two typos found while reading
      0854dc81
    • Miaoqian Lin's avatar
      parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries · d24846a4
      Miaoqian Lin authored
      kobject_init_and_add() takes reference even when it fails.
      According to the doc of kobject_init_and_add():
      
         If this function returns an error, kobject_put() must be called to
         properly clean up the memory associated with the object.
      
      Fix memory leak by calling kobject_put().
      
      Fixes: 73f368cf
      
       ("Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add")
      Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d24846a4
  2. Jan 21, 2022
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 9b57f458
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - fix for race condition that could lead to NULL pointer dereferences
         or UAF during uhid device destruction (Jann Horn)
      
       - contact count handling regression fixes for Wacom devices (Jason
         Gerecke)
      
       - fix for handling unnumbered HID reports handling in Google Vivaldi
         driver (Dmitry Torokhov)
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: wacom: Avoid using stale array indicies to read contact count
        HID: wacom: Ignore the confidence flag when a touch is removed
        HID: wacom: Reset expected and received contact counts at the same time
        HID: uhid: Use READ_ONCE()/WRITE_ONCE() for ->running
        HID: uhid: Fix worker destroying device without any protection
        HID: vivaldi: Minor cleanups
        HID: vivaldi: fix handling devices not using numbered reports
        HID: Ignore battery for Elan touchscreen on HP Envy X360 15t-dr100
      9b57f458
    • Linus Torvalds's avatar
      Merge tag 'block-5.17-2022-01-21' of git://git.kernel.dk/linux-block · 3c7c2503
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Various little minor fixes that should go into this release:
      
         - Fix issue with cloned bios and IO accounting (Christoph)
      
         - Remove redundant assignments (Colin, GuoYong)
      
         - Fix an issue with the mq-deadline async_depth sysfs interface (me)
      
         - Fix brd module loading race (Tetsuo)
      
         - Shared tag map wakeup fix (Laibin)
      
         - End of bdev read fix (OGAWA)
      
         - srcu leak fix (Ming)"
      
      * tag 'block-5.17-2022-01-21' of git://git.kernel.dk/linux-block:
        block: fix async_depth sysfs interface for mq-deadline
        block: Fix wrong offset in bio_truncate()
        block: assign bi_bdev for cloned bios in blk_rq_prep_clone
        block: cleanup q->srcu
        block: Remove unnecessary variable assignment
        brd: remove brd_devices_mutex mutex
        aoe: remove redundant assignment on variable n
        loop: remove redundant initialization of pointer node
        blk-mq: fix tag_get wait task can't be awakened
      3c7c2503
    • Jason Gerecke's avatar
      HID: wacom: Avoid using stale array indicies to read contact count · 20f3cf5f
      Jason Gerecke authored
      If we ever see a touch report with contact count data we initialize
      several variables used to read the contact count in the pre-report
      phase. These variables are never reset if we process a report which
      doesn't contain a contact count, however. This can cause the pre-
      report function to trigger a read of arbitrary memory (e.g. NULL
      if we're lucky) and potentially crash the driver.
      
      This commit restores resetting of the variables back to default
      "none" values that were used prior to the commit mentioned
      below.
      
      Link: https://github.com/linuxwacom/input-wacom/issues/276
      Fixes: 003f50ab
      
       (HID: wacom: Update last_slot_field during pre_report phase)
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      20f3cf5f
    • Jason Gerecke's avatar
      HID: wacom: Ignore the confidence flag when a touch is removed · df03e9bd
      Jason Gerecke authored
      AES hardware may internally re-classify a contact that it thought was
      intentional as a palm. Intentional contacts are reported as "down" with
      the confidence bit set. When this re-classification occurs, however, the
      state transitions to "up" with the confidence bit cleared. This kind of
      transition appears to be legal according to Microsoft docs, but we do
      not handle it correctly. Because the confidence bit is clear, we don't
      call `wacom_wac_finger_slot` and update userspace. This causes hung
      touches that confuse userspace and interfere with pen arbitration.
      
      This commit adds a special case to ignore the confidence flag if a contact
      is reported as removed. This ensures we do not leave a hung touch if one
      of these re-classification events occured. Ideally we'd have some way to
      also let userspace know that the touch has been re-classified as a palm
      and needs to be canceled, but that's not possible right now :)
      
      Link: https://github.com/linuxwacom/input-wacom/issues/288
      Fixes: 7fb0413b
      
       (HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts)
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      df03e9bd
    • Jason Gerecke's avatar
      HID: wacom: Reset expected and received contact counts at the same time · 546e41ac
      Jason Gerecke authored
      These two values go hand-in-hand and must be valid for the driver to
      behave correctly. We are currently lazy about updating the values and
      rely on the "expected" code flow to take care of making sure they're
      valid at the point they're needed. The "expected" flow changed somewhat
      with commit f8b6a747 ("HID: wacom: generic: Support multiple tools
      per report"), however. This led to problems with the DTH-2452 due (in
      part) to *all* contacts being fully processed -- even those past the
      expected contact count. Specifically, the received count gets reset to
      0 once all expected fingers are processed, but not the expected count.
      The rest of the contacts in the report are then *also* processed since
      now the driver thinks we've only processed 0 of N expected contacts.
      
      Later commits such as 7fb0413b (HID: wacom: Use "Confidence" flag to
      prevent reporting invalid contacts) worked around the DTH-2452 issue by
      skipping the invalid contacts at the end of the report, but this is not
      a complete fix. The confidence flag cannot be relied on when a contact
      is removed (see the following patch), and dealing with that condition
      re-introduces the DTH-2452 issue unless we also address this contact
      count laziness. By resetting expected and received counts at the same
      time we ensure the driver understands that there are 0 more contacts
      expected in the report. Similarly, we also make sure to reset the
      received count if for some reason we're out of sync in the pre-report
      phase.
      
      Link: https://github.com/linuxwacom/input-wacom/issues/288
      Fixes: f8b6a747
      
       ("HID: wacom: generic: Support multiple tools per report")
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      546e41ac
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.17-2022-01-21' of git://git.kernel.dk/linux-block · f3a78227
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix the io_uring POLLFREE handling, similarly to how it was done for
         aio (Pavel)
      
       - Remove (now) unused function (Jiapeng)
      
       - Small series fixing an issue with work cancelations. A window exists
         where work isn't locatable in the pending list, and isn't active in a
         worker yet either. (me)
      
      * tag 'io_uring-5.17-2022-01-21' of git://git.kernel.dk/linux-block:
        io-wq: delete dead lock shuffling code
        io_uring: perform poll removal even if async work removal is successful
        io-wq: add intermediate work step between pending list and active work
        io-wq: perform both unstarted and started work cancelations in one go
        io-wq: invoke work cancelation with wqe->lock held
        io-wq: make io_worker lock a raw spinlock
        io-wq: remove useless 'work' argument to __io_worker_busy()
        io_uring: fix UAF due to missing POLLFREE handling
        io_uring: Remove unused function req_ref_put
      f3a78227
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 1f40caa0
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A small set of HD-audio and USB-audio fixes as well as a couple of
        ALSA core fixes. Most of them are fix-ups for the newly added CS35L41
        codec"
      
      * tag 'sound-fix-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409
        ALSA: core: Simplify snd_power_ref_and_wait() with the standard macro
        ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void
        ALSA: hda: cs35l41: Tidyup code
        ALSA: hda: cs35l41: Make use of the helper function dev_err_probe()
        ALSA: hda: cs35l41: Add missing default cases
        ALSA: hda: cs35l41: Move cs35l41* calls to its own symbol namespace
        ALSA: hda: cs35l41: Add calls to newly added test key function
        ALSA: hda: cs35l41: Avoid overwriting register patch
        ALSA: core: Fix SSID quirk lookup for subvendor=0
        ALSA: usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi.
        ALSA: hda/realtek: fix speakers and micmute on HP 855 G8
      1f40caa0
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 75242f31
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Two new drivers this cycle and a significant rework of the CMOS driver
        make the bulk of the changes.
      
        I also carry powerpc changes with the agreement of Michael.
      
        New drivers:
         - Sunplus SP7021 RTC
         - Nintendo GameCube, Wii and Wii U RTC
      
        Driver updates:
         - cmos: refactor UIP handling and presence check, fix century
         - rs5c372: offset correction support, report low voltage
         - rv8803: Epson RX8804 support"
      
      * tag 'rtc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (33 commits)
        rtc: sunplus: fix return value in sp_rtc_probe()
        rtc: cmos: Evaluate century appropriate
        rtc: gamecube: Fix an IS_ERR() vs NULL check
        rtc: mc146818-lib: fix signedness bug in mc146818_get_time()
        dt-bindings: rtc: qcom-pm8xxx-rtc: update register numbers
        rtc: pxa: fix null pointer dereference
        rtc: ftrtc010: Use platform_get_irq() to get the interrupt
        rtc: Move variable into switch case statement
        rtc: pcf2127: Fix typo in comment
        dt-bindings: rtc: Add Sunplus RTC json-schema
        rtc: Add driver for RTC in Sunplus SP7021
        rtc: rs5c372: fix incorrect oscillation value on r2221tl
        rtc: rs5c372: add offset correction support
        rtc: cmos: avoid UIP when writing alarm time
        rtc: cmos: avoid UIP when reading alarm time
        rtc: mc146818-lib: refactor mc146818_does_rtc_work
        rtc: mc146818-lib: refactor mc146818_get_time
        rtc: mc146818-lib: extract mc146818_avoid_UIP
        rtc: mc146818-lib: fix RTC presence check
        rtc: Check return value from mc146818_get_time()
        ...
      75242f31
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-01-21' of git://anongit.freedesktop.org/drm/drm · c2c94b3b
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Thanks to Daniel for taking care of things while I was out, just a set
        of merge window fixes that came in this week, two i915 display fixes
        and a bunch of misc amdgpu, along with a radeon regression fix.
      
        amdgpu:
         - SR-IOV fix
         - VCN harvest fix
         - Suspend/resume fixes
         - Tahiti fix
         - Enable GPU recovery on yellow carp
      
        radeon:
         - Fix error handling regression in radeon_driver_open_kms
      
        i915:
         - Update EHL display voltage swing table
         - Fix programming the ADL-P display TC voltage swing"
      
      * tag 'drm-next-2022-01-21' of git://anongit.freedesktop.org/drm/drm:
        drm/radeon: fix error handling in radeon_driver_open_kms
        drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV
        drm/amdgpu: apply vcn harvest quirk
        drm/i915/display/adlp: Implement new step in the TC voltage swing prog sequence
        drm/i915/display/ehl: Update voltage swing table
        drm/amd/display: Revert W/A for hard hangs on DCN20/DCN21
        drm/amdgpu: drop flags check for CHIP_IP_DISCOVERY
        drm/amdgpu: Fix rejecting Tahiti GPUs
        drm/amdgpu: don't do resets on APUs which don't support it
        drm/amdgpu: invert the logic in amdgpu_device_should_recover_gpu()
        drm/amdgpu: Enable recovery on yellow carp
      c2c94b3b
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 39e77c48
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "Some hot fixes for clk driver patches merged last week and one oops
        fix:
      
         - Fix license on recent MediaTek drivers
      
         - Initialize a variable before use in the new Visconti driver
      
         - Avoid an oops by unregistering the clk provider in si5341"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: mediatek: relicense mt7986 clock driver to GPL-2.0
        clk: visconti: Fix uninitialized variable in printk
        clk: si5341: Fix clock HW provider cleanup
      39e77c48
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 4141a5e6
      Linus Torvalds authored
      Pull pci fix from Bjorn Helgaas:
      
       - Reserve "stolen memory" for integrated Intel GPU, even if it's not
         the first GPU to be enumerated (Lucas De Marchi)
      
      * tag 'pci-v5.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        x86/gpu: Reserve stolen memory for first integrated Intel GPU
      4141a5e6
    • Linus Torvalds's avatar
      Merge tag 's390-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 85e67d56
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
      
       - add Sven Schnelle as reviewer for s390 code
      
       - make uaccess code more readable
      
       - change cpu measurement facility code to also support counter second
         version number 7, and add discard support for limited samples
      
      * tag 's390-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: add Sven Schnelle as reviewer
        s390/uaccess: introduce bit field for OAC specifier
        s390/cpumf: Support for CPU Measurement Sampling Facility LS bit
        s390/cpumf: Support for CPU Measurement Facility CSVN 7
      85e67d56
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.17-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 31d94978
      Linus Torvalds authored
      Pull more xfs irix ioctl housecleaning from Darrick Wong:
       "Withdraw the XFS_IOC_ALLOCSP* and XFS_IOC_FREESP* ioctl definitions.
      
        This is the third and final of a series of small pull requests that
        perform some long overdue housecleaning of XFS ioctls. This time,
        we're withdrawing all variants of the ALLOCSP and FREESP ioctls from
        XFS' userspace API. This might be a little premature since we've only
        just removed the functionality, but as I pointed out in the last pull
        request, nobody (including fstests) noticed that it was broken for 20
        years.
      
        In response to the patch, we received a single comment from someone
        who stated that they 'augment' the ioctl for their own purposes, but
        otherwise acquiesced to the withdrawal. I still want to try to clobber
        these old ioctl definitions in 5.17.
      
        So remove the header definitions for these ioctls. The just-removed
        implementation has allowed callers to read stale disk contents for
        more than **21 years** and nobody noticed or complained, which implies
        a lack of users aside from exploit programs"
      
      * tag 'xfs-5.17-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: remove the XFS_IOC_{ALLOC,FREE}SP* definitions
      31d94978
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.17-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d701a8cc
      Linus Torvalds authored
      Pull xfs irix ioctl housecleaning from Darrick Wong:
       "Remove the XFS_IOC_ALLOCSP* and XFS_IOC_FREESP* ioctl families.
      
        This is the second of a series of small pull requests that perform
        some long overdue housecleaning of XFS ioctls. This time, we're
        vacating the implementation of all variants of the ALLOCSP and FREESP
        ioctls, which are holdovers from EFS in Irix, circa 1993. Roughly
        equivalent functionality have been available for both ioctls since
        2.6.25 (April 2008):
      
         - XFS_IOC_FREESP ftruncates a file.
      
         - XFS_IOC_ALLOCSP is the equivalent of fallocate.
      
        As noted in the fix patch for CVE 2021-4155, the ALLOCSP ioctl has
        been serving up stale disk blocks since 2000, and in 21 years
        **nobody** noticed. On those grounds I think it's safe to vacate the
        implementation.
      
        Note that we lose the ability to preallocate and truncate relative to
        the current file position, but as nobody's ever implemented that for
        the VFS, I conclude that it's not in high demand.
      
        Linux has always used fallocate as the space management system call,
        whereas these Irix legacy ioctls only ever worked on XFS, and have
        been the cause of recent stale data disclosure vulnerabilities. As
        equivalent functionality is available elsewhere, remove the code"
      
      * tag 'xfs-5.17-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: kill the XFS_IOC_{ALLOC,FREE}SP* ioctls
      d701a8cc
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.17-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 12a8fb20
      Linus Torvalds authored
      Pull xfs ioctl housecleaning from Darrick Wong:
       "This is the first of a series of small pull requests that perform some
        long overdue housecleaning of XFS ioctls. This first pull request
        removes the FSSETDM ioctl, which was used to set DMAPI event
        attributes on XFS files. The DMAPI support has never been merged
        upstream and the implementation of FSSETDM itself was removed two
        years ago, so let's withdraw it completely.
      
         - Withdraw the ioctl definition for the FSSETDM ioctl"
      
      * tag 'xfs-5.17-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: remove the XFS_IOC_FSSETDM definitions
      12a8fb20
    • Randy Dunlap's avatar
      Documentation: fix firewire.rst ABI file path error · b0ac702f
      Randy Dunlap authored
      Adjust the path of the ABI files for firewire.rst to prevent a
      documentation build error. Prevents this problem:
      
      Sphinx parallel build error:
      docutils.utils.SystemMessage: Documentation/driver-api/firewire.rst:22: (SEVERE/4) Problems with "include" directive path:
      InputError: [Errno 2] No such file or directory: '../Documentation/driver-api/ABI/stable/firewire-cdev'.
      
      Fixes: 2f4830ef
      
       ("FireWire: add driver-api Introduction section")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Tested-by: default avatarAkira Yokosawa <akiyks@gmail.com>
      Link: https://lore.kernel.org/r/20220119033905.4779-1-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      b0ac702f
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.17-2022-01-19' of... · ccf34586
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.17-2022-01-19' of https://gitlab.freedesktop.org/agd5f/linux
      
       into drm-next
      
      amd-drm-fixes-5.17-2022-01-19:
      
      amdgpu:
      - SR-IOV fix
      - VCN harvest fix
      - Suspend/resume fixes
      - Tahiti fix
      - Enable GPU recovery on yellow carp
      
      radeon:
      - Fix error handling regression in radeon_driver_open_kms
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220120013547.5649-1-alexander.deucher@amd.com
      ccf34586
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2022-01-20' of... · 410482b5
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2022-01-20' of git://anongit.freedesktop.org/drm/drm-intel
      
       into drm-next
      
      - Latest updates for the EHL display voltage swing table (José Roberto de Souza)
      - Additional step is required when programming the ADL-P display TC voltage swing (José Roberto de Souza)
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Yek1zdsnRPiBVvFF@tursulin-mobl2
      410482b5
    • Palmer Dabbelt's avatar
      RISC-V: nommu_virt: Drop unused SLAB_MERGE_DEFAULT · c59cd507
      Palmer Dabbelt authored
      Our nommu_virt_defconfig set SLOB=y and SLAB_MERGE_DEFAULT=n.  As of
      eb52c0fc
      
       ("mm: Make SLAB_MERGE_DEFAULT depend on SL[AU]B") it's no
      longer necessary to set the second, which appears to never have had any
      effect for SLOB=y anyway.
      
      This was suggested by savedefconfig.
      
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c59cd507
    • Helge Deller's avatar
      parisc: Fix missing prototype for 'toc_intr' warning in toc.c · 30f30899
      Helge Deller authored
      
      
      Fix a missing prototype warning noticed by the kernel test robot.
      
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      30f30899
    • Helge Deller's avatar
      parisc: Autodetect default output device and set console= kernel parameter · 5f7ee6e3
      Helge Deller authored
      
      
      Usually palo (the PA-RISC boot loader) will check at boot time if the
      machine/firmware was configured to use the serial line (ttyS0, SERIAL_x)
      or the graphical display (tty0, graph) as default output device and add
      the correct "console=ttyS0" or "console=tty0" Linux kernel parameter to
      the kernel command line when starting the Linux kernel.
      
      But the kernel could also have been started via the HP-UX boot loader
      or directly in qemu, in which cases the console parameter is missing.
      
      This patch fixes this problem by adding the correct console= parameter
      if it's missing in the current kernel command line.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      5f7ee6e3
    • Helge Deller's avatar
      parisc: Use safer strscpy() in setup_cmdline() · bd25c378
      Helge Deller authored
      
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      bd25c378
    • Minghao Chi's avatar
      RISC-V: Remove redundant err variable · 8da46c0f
      Minghao Chi authored
      
      
      Return value from user_regset_copyin() directly instead of taking this
      in another redundant variable.
      
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarMinghao Chi <chi.minghao@zte.com.cn>
      Signed-off-by: default avatarCGEL ZTE <cgel.zte@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      8da46c0f
    • Jens Axboe's avatar
      block: fix async_depth sysfs interface for mq-deadline · 46cdc45a
      Jens Axboe authored
      A previous commit added this feature, but it inadvertently used the wrong
      variable to show/store the setting from/to, victimized by copy/paste. Fix
      it up so that the async_depth sysfs interface reads and writes from the
      right setting.
      
      Fixes: 07757588 ("block/mq-deadline: Reserve 25% of scheduler tags for synchronous requests")
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=215485
      
      
      Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      46cdc45a
    • Ron Economos's avatar
      riscv: dts: sifive unmatched: Add gpio poweroff · db3f02df
      Ron Economos authored
      
      
      Some of the GPIO pins on the Unmatched are wire up to control the power
      of the board, indicate that in the device tree.
      
      Signed-off-by: default avatarRon Economos <w6rz@comcast.net>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      db3f02df
    • Lukas Bulwahn's avatar
      riscv: canaan: remove useless select of non-existing config SYSCON · 3c2905ea
      Lukas Bulwahn authored
      
      
      The config SYSCON never existed in the kernel repository; so, the select of
      that config in ./drivers/soc/canaan/Kconfig has no effect.
      
      Presumably, this was just some mistake, assuming some symmetry in handling
      and naming of configs that simply does not exist.
      
      Remove this useless select of a non-existing config.
      
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      3c2905ea
    • Atish Patra's avatar
      RISC-V: Do not use cpumask data structure for hartid bitmap · 26fb751c
      Atish Patra authored
      
      
      Currently, SBI APIs accept a hartmask that is generated from struct
      cpumask. Cpumask data structure can hold upto NR_CPUs value. Thus, it
      is not the correct data structure for hartids as it can be higher
      than NR_CPUs for platforms with sparse or discontguous hartids.
      
      Remove all association between hartid mask and struct cpumask.
      
      Reviewed-by: Anup Patel <anup@brainfault.org> (For Linux RISC-V changes)
      Acked-by: Anup Patel <anup@brainfault.org> (For KVM RISC-V changes)
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      26fb751c
    • Atish Patra's avatar
      RISC-V: Move spinwait booting method to its own config · 2ffc48fc
      Atish Patra authored
      
      
      The spinwait booting method should only be used for platforms with older
      firmware without SBI HSM extension or M-mode firmware because spinwait
      method can't support cpu hotplug, kexec or sparse hartid. It is better
      to move the entire spinwait implementation to its own config which can
      be disabled if required. It is enabled by default to maintain backward
      compatibility and M-mode Linux.
      
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      2ffc48fc
    • Atish Patra's avatar
      RISC-V: Move the entire hart selection via lottery to SMP · 0b39eb38
      Atish Patra authored
      
      
      The booting hart selection via lottery is only useful for SMP systems.
      Moreover, the lottery selection is only necessary for systems using
      spinwait booting method. It is better to keep the entire lottery
      selection together so that it can be disabled in future.
      
      Move the lottery selection code to under CONFIG_SMP.
      
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      0b39eb38
    • Atish Patra's avatar
      RISC-V: Use __cpu_up_stack/task_pointer only for spinwait method · c78f94f3
      Atish Patra authored
      
      
      The __cpu_up_stack/task_pointer array is only used for spinwait method
      now. The per cpu array based lookup is also fragile for platforms with
      discontiguous/sparse hartids. The spinwait method is only used for
      M-mode Linux or older firmwares without SBI HSM extension. For general
      Linux systems, ordered booting method is preferred anyways to support
      cpu hotplug and kexec.
      
      Make sure that __cpu_up_stack/task_pointer is only used for spinwait
      method. Take this opportunity to rename it to
      __cpu_spinwait_stack/task_pointer to emphasize the purpose as well.
      
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c78f94f3
    • Atish Patra's avatar
      RISC-V: Do not print the SBI version during HSM extension boot print · 410bb20a
      Atish Patra authored
      
      
      The HSM extension information log also prints the SBI version v0.2. This
      is misleading as the underlying firmware SBI version may be different
      from v0.2.
      
      Remove the unncessary printing of SBI version.
      
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      410bb20a
    • Atish Patra's avatar
      RISC-V: Avoid using per cpu array for ordered booting · 9a2451f1
      Atish Patra authored
      
      
      Currently both order booting and spinwait approach uses a per cpu
      array to update stack & task pointer. This approach will not work for the
      following cases.
      1. If NR_CPUs are configured to be less than highest hart id.
      2. A platform has sparse hartid.
      
      This issue can be fixed for ordered booting as the booting cpu brings up
      one cpu at a time using SBI HSM extension which has opaque parameter
      that is unused until now.
      
      Introduce a common secondary boot data structure that can store the stack
      and task pointer. Secondary harts will use this data while booting up
      to setup the sp & tp.
      
      Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
      Signed-off-by: default avatarAtish Patra <atishp@rivosinc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      9a2451f1
    • Wei Wang's avatar
      docs: kvm: fix WARNINGs from api.rst · e2e83a73
      Wei Wang authored
      
      
      Use the api number 134 for KVM_GET_XSAVE2, instead of 42, which has been
      used by KVM_GET_XSAVE.
      Also, fix the WARNINGs of the underlines being too short.
      
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarWei Wang <wei.w.wang@intel.com>
      Tested-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Message-Id: <20220120045003.315177-1-wei.w.wang@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e2e83a73
    • Jinrong Liang's avatar
      selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c · 83a34ad8
      Jinrong Liang authored
      The following warning appears when executing
      make -C tools/testing/selftests/kvm
      
      include/x86_64/processor.h:290:2: warning: 'ecx' may be used uninitialized in this
      function [-Wmaybe-uninitialized]
        asm volatile("cpuid"
        ^~~
      lib/x86_64/processor.c:1523:21: note: 'ecx' was declared here
        uint32_t eax, ebx, ecx, edx, max_ext_leaf;
      
      Just initialize ecx to remove this warning.
      
      Fixes: c8cc43c1
      
       ("selftests: KVM: avoid failures due to reserved HyperTransport region")
      Signed-off-by: default avatarJinrong Liang <cloudliang@tencent.com>
      Message-Id: <20220119140325.59369-1-cloudliang@tencent.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      83a34ad8