1. 25 Aug, 2022 9 commits
    • Aditya Garg's avatar
      HID: Add Apple Touchbar on T2 Macs in hid_have_special_driver list · 750ec977
      Aditya Garg authored
      The touchbar on Apple T2 Macs has 2 modes, one that shows the function
      keys and other that shows the media controls. The user can use the fn
      key on his keyboard to switch between the 2 modes.
      
      On Linux, if people were using an external keyboard or mouse, the
      touchbar failed to change modes on pressing the fn key with the following
      in dmesg :-
      
      [   10.661445] apple-ib-als 0003:05AC:8262.0001: : USB HID v1.01 Device [Apple Inc. Ambient Light Sensor] on usb-bce-vhci-3/input0
      [   11.830992] apple-ib-touchbar 0003:05AC:8302.0007: input: USB HID v1.01 Keyboard [Apple Inc. Touch Bar Display] on usb-bce-vhci-6/input0
      [   12.139407] apple-ib-touchbar 0003:05AC:8102.0008: : USB HID v1.01 Device [Apple Inc. Touch Bar Backlight] on usb-bce-vhci-7/input0
      [   12.211824] apple-ib-touchbar 0003:05AC:8102.0009: : USB HID v1.01 Device [Apple Inc. Touch Bar Backlight] on usb-bce-vhci-7/input1
      [   14.219759] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
      [   24.395670] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
      [   34.635791] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
      [  269.579233] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 1 (-110)
      
      Add the USB IDs of the touchbar found in T2 Macs to HID have special
      driver list to fix the issue.
      Signed-off-by: default avatarAditya Garg <gargaditya08@live.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      750ec977
    • Steev Klimaszewski's avatar
      HID: add Lenovo Yoga C630 battery quirk · 3a47fa7b
      Steev Klimaszewski authored
      Similar to the Surface Go devices, the Elantech touchscreen/digitizer in
      the Lenovo Yoga C630 mistakenly reports the battery of the stylus, and
      always reports an empty battery.
      
      Apply the HID_BATTERY_QUIRK_IGNORE quirk to ignore this battery and
      prevent the erroneous low battery warnings.
      Signed-off-by: default avatarSteev Klimaszewski <steev@kali.org>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      3a47fa7b
    • Akihiko Odaki's avatar
      HID: AMD_SFH: Add a DMI quirk entry for Chromebooks · adada3f4
      Akihiko Odaki authored
      Google Chromebooks use Chrome OS Embedded Controller Sensor Hub instead
      of Sensor Hub Fusion and leaves MP2 uninitialized, which disables all
      functionalities, even including the registers necessary for feature
      detections.
      
      The behavior was observed with Lenovo ThinkPad C13 Yoga.
      Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@gmail.com>
      Suggested-by: default avatarMario Limonciello <mario.limonciello@amd.com>
      Acked-by: default avatarBasavaraj Natikar <Basavaraj.Natikar@amd.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      adada3f4
    • Michael Hübner's avatar
      HID: thrustmaster: Add sparco wheel and fix array length · d9a17651
      Michael Hübner authored
      Add device id for the Sparco R383 Mod wheel.
      
      Fix wheel info array length to match actual wheel count present in the array.
      Signed-off-by: default avatarMichael Hübner <michaelh.95@t-online.de>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d9a17651
    • Even Xu's avatar
      hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message · e1fa0767
      Even Xu authored
      There is a timing issue captured during ishtp client sending stress tests.
      It was observed during stress tests that ISH firmware is getting out of
      ordered messages. This is a rare scenario as the current set of ISH client
      drivers don't send much data to firmware. But this may not be the case
      going forward.
      
      When message size is bigger than IPC MTU, ishtp splits the message into
      fragments and uses serialized async method to send message fragments.
      The call stack:
      ishtp_cl_send_msg_ipc->ipc_tx_callback(first fregment)->
      ishtp_send_msg(with callback)->write_ipc_to_queue->
      write_ipc_from_queue->callback->ipc_tx_callback(next fregment)......
      
      When an ipc write complete interrupt is received, driver also calls
      write_ipc_from_queue->ipc_tx_callback in ISR to start sending of next fragment.
      
      Through ipc_tx_callback uses spin_lock to protect message splitting, as the
      serialized sending method will call back to ipc_tx_callback again, so it doesn't
      put sending under spin_lock, it causes driver cannot guarantee all fragments
      be sent in order.
      
      Considering this scenario:
      ipc_tx_callback just finished a fragment splitting, and not call ishtp_send_msg
      yet, there is a write complete interrupt happens, then ISR->write_ipc_from_queue
      ->ipc_tx_callback->ishtp_send_msg->write_ipc_to_queue......
      
      Because ISR has higher exec priority than normal thread, this causes the new
      fragment be sent out before previous fragment. This disordered message causes
      invalid message to firmware.
      
      The solution is, to send fragments synchronously:
      Use ishtp_write_message writing fragments into tx queue directly one by one,
      instead of ishtp_send_msg only writing one fragment with completion callback.
      As no completion callback be used, so change ipc_tx_callback to ipc_tx_send.
      Signed-off-by: default avatarEven Xu <even.xu@intel.com>
      Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@intel.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e1fa0767
    • Jason Wang's avatar
      HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo · 94553f8a
      Jason Wang authored
      The double `like' is duplicated in the comment, remove one.
      Signed-off-by: default avatarJason Wang <wangborong@cdjrlc.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      94553f8a
    • Josh Kilmer's avatar
      HID: asus: ROG NKey: Ignore portion of 0x5a report · 1c0cc9d1
      Josh Kilmer authored
      On an Asus G513QY, of the 5 bytes in a 0x5a report, only the first byte
      is a meaningful keycode. The other bytes are zeroed out or hold garbage
      from the last packet sent to the keyboard.
      
      This patch fixes up the report descriptor for this event so that the
      general hid code will only process 1 byte for keycodes, avoiding
      spurious key events and unmapped Asus vendor usagepage code warnings.
      Signed-off-by: default avatarJosh Kilmer <srjek2@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      1c0cc9d1
    • Karthik Alapati's avatar
      HID: hidraw: fix memory leak in hidraw_release() · a5623a20
      Karthik Alapati authored
      Free the buffered reports before deleting the list entry.
      
      BUG: memory leak
      unreferenced object 0xffff88810e72f180 (size 32):
        comm "softirq", pid 0, jiffies 4294945143 (age 16.080s)
        hex dump (first 32 bytes):
          64 f3 c6 6a d1 88 07 04 00 00 00 00 00 00 00 00  d..j............
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff814ac6c3>] kmemdup+0x23/0x50 mm/util.c:128
          [<ffffffff8357c1d2>] kmemdup include/linux/fortify-string.h:440 [inline]
          [<ffffffff8357c1d2>] hidraw_report_event+0xa2/0x150 drivers/hid/hidraw.c:521
          [<ffffffff8356ddad>] hid_report_raw_event+0x27d/0x740 drivers/hid/hid-core.c:1992
          [<ffffffff8356e41e>] hid_input_report+0x1ae/0x270 drivers/hid/hid-core.c:2065
          [<ffffffff835f0d3f>] hid_irq_in+0x1ff/0x250 drivers/hid/usbhid/hid-core.c:284
          [<ffffffff82d3c7f9>] __usb_hcd_giveback_urb+0xf9/0x230 drivers/usb/core/hcd.c:1670
          [<ffffffff82d3cc26>] usb_hcd_giveback_urb+0x1b6/0x1d0 drivers/usb/core/hcd.c:1747
          [<ffffffff82ef1e14>] dummy_timer+0x8e4/0x14c0 drivers/usb/gadget/udc/dummy_hcd.c:1988
          [<ffffffff812f50a8>] call_timer_fn+0x38/0x200 kernel/time/timer.c:1474
          [<ffffffff812f5586>] expire_timers kernel/time/timer.c:1519 [inline]
          [<ffffffff812f5586>] __run_timers.part.0+0x316/0x430 kernel/time/timer.c:1790
          [<ffffffff812f56e4>] __run_timers kernel/time/timer.c:1768 [inline]
          [<ffffffff812f56e4>] run_timer_softirq+0x44/0x90 kernel/time/timer.c:1803
          [<ffffffff848000e6>] __do_softirq+0xe6/0x2ea kernel/softirq.c:571
          [<ffffffff81246db0>] invoke_softirq kernel/softirq.c:445 [inline]
          [<ffffffff81246db0>] __irq_exit_rcu kernel/softirq.c:650 [inline]
          [<ffffffff81246db0>] irq_exit_rcu+0xc0/0x110 kernel/softirq.c:662
          [<ffffffff84574f02>] sysvec_apic_timer_interrupt+0xa2/0xd0 arch/x86/kernel/apic/apic.c:1106
          [<ffffffff84600c8b>] asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649
          [<ffffffff8458a070>] native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
          [<ffffffff8458a070>] arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
          [<ffffffff8458a070>] acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
          [<ffffffff8458a070>] acpi_idle_do_entry+0xc0/0xd0 drivers/acpi/processor_idle.c:554
      
      Link: https://syzkaller.appspot.com/bug?id=19a04b43c75ed1092021010419b5e560a8172c4f
      Reported-by: syzbot+f59100a0428e6ded9443@syzkaller.appspotmail.com
      Signed-off-by: default avatarKarthik Alapati <mail@karthek.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      a5623a20
    • Lee Jones's avatar
      HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report · cd11d1a6
      Lee Jones authored
      It is possible for a malicious device to forgo submitting a Feature
      Report.  The HID Steam driver presently makes no prevision for this
      and de-references the 'struct hid_report' pointer obtained from the
      HID devices without first checking its validity.  Let's change that.
      
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: linux-input@vger.kernel.org
      Fixes: c164d6ab ("HID: add driver for Valve Steam Controller")
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      cd11d1a6
  2. 05 Aug, 2022 1 commit
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2022080201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 8d9420ca
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - support for AMD SOCs using SFH1.1 memory access (Basavaraj Natikar)
      
       - XP-PEN Deco L support (José Expósito)
      
       - support for Elan eKTH6915 touchscreens (Douglas Anderson)
      
       - other small assorted fixes and device ID additions
      
      * tag 'for-linus-2022080201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (39 commits)
        HID: amd_sfh: Handle condition of "no sensors"
        HID: amd_sfh: Fix implicit declaration error on i386
        HID: apple: Add "GANSS" to the non-Apple list
        HID: alps: Declare U1_UNICORN_LEGACY support
        HID: wacom: Force pen out of prox if no events have been received in a while
        HID: nintendo: Add missing array termination
        HID: lg-g15: Fix comment typo
        HID: amd_sfh: Implement SFH1.1 functionality
        HID: amd_sfh: Move interrupt handling to common interface
        HID: amd_sfh: Move amd_sfh_work to common interface
        HID: amd_sfh: Move global functions to static
        HID: amd_sfh: Add remove operation in amd_mp2_ops
        HID: amd_sfh: Add PM operations in amd_mp2_ops
        HID: amd_sfh: Add descriptor operations in amd_mp2_ops
        HID: amd_sfh: Move request_list variable to client data
        HID: amd_sfh: Move request_list struct to header file
        HID: amd_sfh: Move common macros and structures
        HID: amd_sfh: Add NULL check for hid device
        HID: core: remove unneeded assignment in hid_process_report()
        ID: intel-ish-hid: hid-client: drop unexpected word "the" in the comments
        ...
      8d9420ca
  3. 04 Aug, 2022 17 commits
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20220804' of https://github.com/jcmvbkbc/linux-xtensa · c040862b
      Linus Torvalds authored
      Pull xtensa updates from Max Filippov:
      
       - support KCOV
      
       - enable ARCH_HAS_GCOV_PROFILE_ALL
      
       - minor ISS network driver cleanups
      
      * tag 'xtensa-20220804' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: enable ARCH_HAS_GCOV_PROFILE_ALL
        xtensa: enable KCOV support
        xtensa: iss: fix handling error cases in iss_net_configure()
        xtensa: iss/network: provide release() callback
        xtensa: iss/network: drop 'devices' list
      c040862b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 995177a4
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Not much this time around, the 5.20-rc1 development updates for arm
        are:
      
         - add KASAN support for vmalloc space on arm
      
         - some sparse fixes from Ben Dooks
      
         - rework amba device handling (so device addition isn't deferred)"
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9220/1: amba: Remove deferred device addition
        ARM: 9219/1: fix undeclared soft_restart
        ARM: 9218/1: dma-mapping: fix pointer/integer warning
        ARM: 9217/1: add definition of arch_irq_work_raise()
        ARM: 9203/1: kconfig: fix MODULE_PLTS for KASAN with KASAN_VMALLOC
        ARM: 9202/1: kasan: support CONFIG_KASAN_VMALLOC
      995177a4
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-6.0-rc1' of https://github.com/c-sky/csky-linux · 7df9075e
      Linus Torvalds authored
      Pull csky updates from Guo Ren:
      
       - Add jump-label implementation
      
       - Add qspinlock support
      
       - Enable ARCH_INLINE_READ*/WRITE*/SPIN*
      
       - Some fixups and a coding convention
      
      * tag 'csky-for-linus-6.0-rc1' of https://github.com/c-sky/csky-linux:
        csky: abiv1: Fixup compile error
        csky: cmpxchg: Coding convention for BUILD_BUG()
        csky: Enable ARCH_INLINE_READ*/WRITE*/SPIN*
        csky: Add qspinlock support
        csky: Add jump-label implementation
        csky: Move HEAD_TEXT_SECTION out of __init_begin-end
        csky: Correct position of _stext
        csky: Use the bitmap API to allocate bitmaps
        csky/kprobe: reclaim insn_slot on kprobe unregistration
      7df9075e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 25e6bed5
      Linus Torvalds authored
      Pull AVR32 updates from Hans-Christian Noren Egtvedt:
       "Mostly changes to documentation and comments"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        video:backlight: remove reference to AVR32 architecture in ltv350qv
        video: remove support for non-existing atmel,at32ap-lcdc in atmel_lcdfb
        usb:udc: remove reference to AVR32 architecture in Atmel USBA Kconfig
        sound:spi: remove reference to AVR32 in Atmel AT73C213 DAC driver
        net: remove cdns,at32ap7000-macb device tree entry
        misc: update maintainer email address and description for atmel-ssc
        mfd: remove reference to AVR32 architecture in atmel-smc.c
        dma:dw: remove reference to AVR32 architecture in core.c
      25e6bed5
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 7447691e
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a series fine tuning virtio support for Xen guests, including removal
         the now again unused "platform_has()" feature.
      
       - a fix for host admin triggered reboot of Xen guests
      
       - a simple spelling fix
      
      * tag 'for-linus-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: don't require virtio with grants for non-PV guests
        kernel: remove platform_has() infrastructure
        virtio: replace restricted mem access flag with callback
        xen: Fix spelling mistake
        xen/manage: Use orderly_reboot() to reboot
      7447691e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7c5c3a61
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "Quite a large pull request due to a selftest API overhaul and some
        patches that had come in too late for 5.19.
      
        ARM:
      
         - Unwinder implementations for both nVHE modes (classic and
           protected), complete with an overflow stack
      
         - Rework of the sysreg access from userspace, with a complete rewrite
           of the vgic-v3 view to allign with the rest of the infrastructure
      
         - Disagregation of the vcpu flags in separate sets to better track
           their use model.
      
         - A fix for the GICv2-on-v3 selftest
      
         - A small set of cosmetic fixes
      
        RISC-V:
      
         - Track ISA extensions used by Guest using bitmap
      
         - Added system instruction emulation framework
      
         - Added CSR emulation framework
      
         - Added gfp_custom flag in struct kvm_mmu_memory_cache
      
         - Added G-stage ioremap() and iounmap() functions
      
         - Added support for Svpbmt inside Guest
      
        s390:
      
         - add an interface to provide a hypervisor dump for secure guests
      
         - improve selftests to use TAP interface
      
         - enable interpretive execution of zPCI instructions (for PCI
           passthrough)
      
         - First part of deferred teardown
      
         - CPU Topology
      
         - PV attestation
      
         - Minor fixes
      
        x86:
      
         - Permit guests to ignore single-bit ECC errors
      
         - Intel IPI virtualization
      
         - Allow getting/setting pending triple fault with
           KVM_GET/SET_VCPU_EVENTS
      
         - PEBS virtualization
      
         - Simplify PMU emulation by just using PERF_TYPE_RAW events
      
         - More accurate event reinjection on SVM (avoid retrying
           instructions)
      
         - Allow getting/setting the state of the speaker port data bit
      
         - Refuse starting the kvm-intel module if VM-Entry/VM-Exit controls
           are inconsistent
      
         - "Notify" VM exit (detect microarchitectural hangs) for Intel
      
         - Use try_cmpxchg64 instead of cmpxchg64
      
         - Ignore benign host accesses to PMU MSRs when PMU is disabled
      
         - Allow disabling KVM's "MONITOR/MWAIT are NOPs!" behavior
      
         - Allow NX huge page mitigation to be disabled on a per-vm basis
      
         - Port eager page splitting to shadow MMU as well
      
         - Enable CMCI capability by default and handle injected UCNA errors
      
         - Expose pid of vcpu threads in debugfs
      
         - x2AVIC support for AMD
      
         - cleanup PIO emulation
      
         - Fixes for LLDT/LTR emulation
      
         - Don't require refcounted "struct page" to create huge SPTEs
      
         - Miscellaneous cleanups:
            - MCE MSR emulation
            - Use separate namespaces for guest PTEs and shadow PTEs bitmasks
            - PIO emulation
            - Reorganize rmap API, mostly around rmap destruction
            - Do not workaround very old KVM bugs for L0 that runs with nesting enabled
            - new selftests API for CPUID
      
        Generic:
      
         - Fix races in gfn->pfn cache refresh; do not pin pages tracked by
           the cache
      
         - new selftests API using struct kvm_vcpu instead of a (vm, id)
           tuple"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (606 commits)
        selftests: kvm: set rax before vmcall
        selftests: KVM: Add exponent check for boolean stats
        selftests: KVM: Provide descriptive assertions in kvm_binary_stats_test
        selftests: KVM: Check stat name before other fields
        KVM: x86/mmu: remove unused variable
        RISC-V: KVM: Add support for Svpbmt inside Guest/VM
        RISC-V: KVM: Use PAGE_KERNEL_IO in kvm_riscv_gstage_ioremap()
        RISC-V: KVM: Add G-stage ioremap() and iounmap() functions
        KVM: Add gfp_custom flag in struct kvm_mmu_memory_cache
        RISC-V: KVM: Add extensible CSR emulation framework
        RISC-V: KVM: Add extensible system instruction emulation framework
        RISC-V: KVM: Factor-out instruction emulation into separate sources
        RISC-V: KVM: move preempt_disable() call in kvm_arch_vcpu_ioctl_run
        RISC-V: KVM: Make kvm_riscv_guest_timer_init a void function
        RISC-V: KVM: Fix variable spelling mistake
        RISC-V: KVM: Improve ISA extension by using a bitmap
        KVM, x86/mmu: Fix the comment around kvm_tdp_mmu_zap_leafs()
        KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog
        KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT
        KVM: x86: Do not block APIC write for non ICR registers
        ...
      7c5c3a61
    • Sudip Mukherjee's avatar
      drm/amd/amdgpu: fix build failure due to implicit declaration · f0a892f5
      Sudip Mukherjee authored
      The builds for alpha and mips allmodconfig fails with the error:
      
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:534:23: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:534:21: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:545:33: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
      
      Add the header file for vmalloc and vfree.
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f0a892f5
    • Linus Torvalds's avatar
      Merge tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · c1c76700
      Linus Torvalds authored
      Pull SPDX updates from Greg KH:
       "Here is the set of SPDX comment updates for 6.0-rc1.
      
        Nothing huge here, just a number of updated SPDX license tags and
        cleanups based on the review of a number of common patterns in GPLv2
        boilerplate text.
      
        Also included in here are a few other minor updates, two USB files,
        and one Documentation file update to get the SPDX lines correct.
      
        All of these have been in the linux-next tree for a very long time"
      
      * tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (28 commits)
        Documentation: samsung-s3c24xx: Add blank line after SPDX directive
        x86/crypto: Remove stray comment terminator
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_406.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_398.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_385.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_298.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_292.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_179.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 2)
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 1)
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_160.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_152.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_149.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_147.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_133.RULE
        ...
      c1c76700
    • Linus Torvalds's avatar
      Merge tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 723c188d
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver patches for 6.0-rc1.
      
        Another round where we removed more lines of code than added, always a
        nice progression. Some of that came from the movement of the vme code
        back into staging, and removal of some other of the vme driver code as
        there are no known users and it is very obsolete and unmaintained. It
        can be added back easily if someone offers to maintain it.
      
        Other than that this merge has lots of little things:
      
         - huge cleanups for r8188eu driver
      
         - minor cleanups for other wifi drivers
      
         - tiny loop fixes for greybus code
      
         - other small coding style fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (191 commits)
        staging: r8188eu: fix potential uninitialised variable use in rtw_pwrctrl.c
        staging: r8188eu: remove initializer from ret in rtw_pwr_wakeup
        staging: vt6655: Convert macro vt6655_mac_clear_stck_ds to function
        staging: vt6655: Rename MACvClearStckDS
        staging: fbtft: core: set smem_len before fb_deferred_io_init call
        staging: r8188eu: convert rtw_pwr_wakeup to correct error code semantics
        staging: r8188eu: make dump_chip_info() static
        staging: r8188eu: remove DoReserved prototype
        staging: r8188eu: remove OnAtim prototype
        staging: r8188eu: remove SetHwReg8188EU()
        staging: r8188eu: make update_TSF() and correct_TSF() static
        staging: r8188eu: remove unused parameter from update_TSF()
        staging: r8188eu: remove unused parameter from correct_TSF()
        staging: r8188eu: remove HW_VAR_SET_OPMODE from SetHwReg8188EU()
        staging: pi433: remove duplicated comments
        staging: qlge: refine variable name
        staging: vt6655: Convert macro vt6655_mac_word_reg_bits_off to function
        staging: vt6655: Convert macro vt6655_mac_reg_bits_off to function
        staging: vt6655: Convert macro vt6655_mac_word_reg_bits_on to function
        staging: vt6655: Convert macro vt6655_mac_reg_bits_on to function
        ...
      723c188d
    • Nathan Chancellor's avatar
      usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable() · 78acd4ca
      Nathan Chancellor authored
      Clang warns:
      
        drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
                        dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
                                ^~~~~~~~
        include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
                dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
                                ^~~
        include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
                                dev, fmt, ##__VA_ARGS__)
                                ^~~
        include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
                __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
                                                                    ^~~~~~~~~~~
        include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
                        func(&id, ##__VA_ARGS__);               \
                                    ^~~~~~~~~~~
        drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
                struct cdns3_device *priv_dev;
                                            ^
                                            = NULL
        1 error generated.
      
      The priv_dev assignment was moved below the if statement to avoid
      potentially dereferencing ep before it was checked but priv_dev is used
      in the dev_dbg() call.
      
      To fix this, move the priv_dev and comp_desc assignments back to their
      original spot and hoist the ep check above those assignments with a call
      to pr_debug() instead of dev_dbg().
      
      Fixes: c3ffc9c4 ("usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()")
      Link: https://github.com/ClangBuiltLinux/linux/issues/1680Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      78acd4ca
    • Linus Torvalds's avatar
      Merge tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9e2e5ea3
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of Thunderbolt and USB changes for 6.0-rc1.
      
        Lots of little things here, nothing major, just constant development
        on some new hardware support and cleanups of older drivers. Highlights
        are:
      
         - lots of typec changes and improvements for new hardware
      
         - new gadget controller driver
      
         - thunderbolt support for new hardware
      
         - the normal set of new usb-serial device ids and cleanups
      
         - loads of dwc3 controller fixes and improvements
      
         - mtu3 driver updates
      
         - testusb fixes for longtime issues (not many people use this tool it
           seems.)
      
         - minor driver fixes and improvements over the USB tree
      
         - chromeos platform driver changes were added and then reverted as
           they depened on some typec changes, but the cross-tree merges
           caused problems so they will come back later through the platform
           tree.
      
        All of these have been in linux-next for a while now with no reported
        issues"
      
      * tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (193 commits)
        usb: misc: onboard_usb_hub: Remove duplicated power_on delay
        usb: misc: onboard_usb_hub: Add TI USB8041 hub support
        usb: misc: onboard_usb_hub: Add reset-gpio support
        USB: usbsevseg: convert sysfs snprintf to sysfs_emit
        dt-bindings: usb: Add binding for TI USB8041 hub controller
        ARM: multi_v7_defconfig: enable USB onboard HUB driver
        ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx
        usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
        dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
        usb: typec: ucsi: stm32g0: add bootloader support
        usb: typec: ucsi: stm32g0: add support for stm32g0 controller
        dt-bindings: usb: typec: add bindings for stm32g0 controller
        usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
        usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
        usb/chipidea: fix repeated words in comments
        usb: renesas-xhci: Do not print any log while fw verif success
        usb: typec: retimer: Add missing id check in match callback
        USB: xhci: Fix comment typo
        usb/typec/tcpm: fix repeated words in comments
        usb/musb: fix repeated words in comments
        ...
      9e2e5ea3
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · cfeafd94
      Linus Torvalds authored
      Pull driver core / kernfs updates from Greg KH:
       "Here is the set of driver core and kernfs changes for 6.0-rc1.
      
        The "biggest" thing in here is some scalability improvements for
        kernfs for large systems. Other than that, included in here are:
      
         - arch topology and cache info changes that have been reviewed and
           discussed a lot.
      
         - potential error path cleanup fixes
      
         - deferred driver probe cleanups
      
         - firmware loader cleanups and tweaks
      
         - documentation updates
      
         - other small things
      
        All of these have been in the linux-next tree for a while with no
        reported problems"
      
      * tag 'driver-core-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (63 commits)
        docs: embargoed-hardware-issues: fix invalid AMD contact email
        firmware_loader: Replace kmap() with kmap_local_page()
        sysfs docs: ABI: Fix typo in comment
        kobject: fix Kconfig.debug "its" grammar
        kernfs: Fix typo 'the the' in comment
        docs: driver-api: firmware: add driver firmware guidelines. (v3)
        arch_topology: Fix cache attributes detection in the CPU hotplug path
        ACPI: PPTT: Leave the table mapped for the runtime usage
        cacheinfo: Use atomic allocation for percpu cache attributes
        drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist
        MAINTAINERS: Change mentions of mpm to olivia
        docs: ABI: sysfs-devices-soc: Update Lee Jones' email address
        docs: ABI: sysfs-class-pwm: Update Lee Jones' email address
        Documentation/process: Add embargoed HW contact for LLVM
        Revert "kernfs: Change kernfs_notify_list to llist."
        ACPI: Remove the unused find_acpi_cpu_cache_topology()
        arch_topology: Warn that topology for nested clusters is not supported
        arch_topology: Add support for parsing sockets in /cpu-map
        arch_topology: Set cluster identifier in each core/thread from /cpu-map
        arch_topology: Limit span of cpu_clustergroup_mask()
        ...
      cfeafd94
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 228dfe98
      Linus Torvalds authored
      Pull char / misc driver updates from Greg KH:
       "Here is the large set of char and misc and other driver subsystem
        changes for 6.0-rc1.
      
        Highlights include:
      
         - large set of IIO driver updates, additions, and cleanups
      
         - new habanalabs device support added (loads of register maps much
           like GPUs have)
      
         - soundwire driver updates
      
         - phy driver updates
      
         - slimbus driver updates
      
         - tiny virt driver fixes and updates
      
         - misc driver fixes and updates
      
         - interconnect driver updates
      
         - hwtracing driver updates
      
         - fpga driver updates
      
         - extcon driver updates
      
         - firmware driver updates
      
         - counter driver update
      
         - mhi driver fixes and updates
      
         - binder driver fixes and updates
      
         - speakup driver fixes
      
        All of these have been in linux-next for a while without any reported
        problems"
      
      * tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (634 commits)
        drivers: lkdtm: fix clang -Wformat warning
        char: remove VR41XX related char driver
        misc: Mark MICROCODE_MINOR unused
        spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
        dt-bindings: iio: adc: Add compatible for MT8188
        iio: light: isl29028: Fix the warning in isl29028_remove()
        iio: accel: sca3300: Extend the trigger buffer from 16 to 32 bytes
        iio: fix iio_format_avail_range() printing for none IIO_VAL_INT
        iio: adc: max1027: unlock on error path in max1027_read_single_value()
        iio: proximity: sx9324: add empty line in front of bullet list
        iio: magnetometer: hmc5843: Remove duplicate 'the'
        iio: magn: yas530: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros
        iio: magnetometer: ak8974: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros
        iio: light: veml6030: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros
        iio: light: vcnl4035: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros
        iio: light: vcnl4000: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros
        iio: light: tsl2591: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr()
        iio: light: tsl2583: Use DEFINE_RUNTIME_DEV_PM_OPS and pm_ptr()
        iio: light: isl29028: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr()
        iio: light: gp2ap002: Switch to DEFINE_RUNTIME_DEV_PM_OPS and pm_ptr()
        ...
      228dfe98
    • Dave Airlie's avatar
      drm/amd/display: restore code for plane with no modifiers · 798cd57c
      Dave Airlie authored
      When this file was split in commit 5d945cbc ("drm/amd/display:
      Create a file dedicated to planes") this chunk seemed to get dropped.
      
      Linus noticed on this rx580 and I've reproduced on FIJI which makes
      sense as these are pre-modifier GPUs.
      
      With this applied, I get gdm back.
      
      Fixes: 5d945cbc ("drm/amd/display: Create a file dedicated to planes")
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Reported-and-tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      798cd57c
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-08-03' of git://anongit.freedesktop.org/drm/drm · b44f2fd8
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights:
      
         - New driver for logicvc - which is a display IP core.
      
         - EDID parser rework to add new extensions
      
         - fbcon scrolling improvements
      
         - i915 has some more DG2 work but not enabled by default, but should
           have enough features for userspace to work now.
      
        Otherwise it's lots of work all over the place. Detailed summary:
      
        New driver:
         - logicvc
      
        vfio:
         - use aperture API
      
        core:
         - of: Add data-lane helpers and convert drivers
         - connector: Remove deprecated ida_simple_get()
      
        media:
         - Add various RGB666 and RGB888 format constants
      
        panel:
         - Add HannStar HSD101PWW
         - Add ETML0700Y5DHA
      
        dma-buf:
         - add sync-file API
         - set dma mask for udmabuf devices
      
        fbcon:
         - Improve scrolling performance
         - Sanitize input
      
        fbdev:
         - device unregistering fixes
         - vesa: Support COMPILE_TEST
         - Disable firmware-device registration when first native driver loads
      
        aperture:
         - fix segfault during hot-unplug
         - export for use with other subsystems
      
        client:
         - use driver validated modes
      
        dp:
         - aux: make probing more reliable
         - mst: Read extended DPCD capabilities during system resume
         - Support waiting for HDP signal
         - Port-validation fixes
      
        edid:
         - CEA data-block iterators
         - struct drm_edid introduction
         - implement HF-EEODB extension
      
        gem:
         - don't use fb format non-existing planes
      
        probe-helper:
         - use 640x480 as displayport fallback
      
        scheduler:
         - don't kill jobs in interrupt context
      
        bridge:
         - Add support for i.MX8qxp and i.MX8qm
         - lots of fixes/cleanups
         - Add TI-DLPC3433
         - fy07024di26a30d: Optional GPIO reset
         - ldb: Add reg and reg-name properties to bindings, Kconfig fixes
         - lt9611: Fix display sensing;
         - tc358767: DSI/DPI refactoring and DSI-to-eDP support, DSI lane handling
         - tc358775: Fix clock settings
         - ti-sn65dsi83: Allow GPIO to sleep
         - adv7511: I2C fixes
         - anx7625: Fix error handling; DPI fixes; Implement HDP timeout via callback
         - fsl-ldb: Drop DE flip
         - ti-sn65dsi86: Convert to atomic modesetting
      
        amdgpu:
         - use atomic fence helpers in DM
         - fix VRAM address calculations
         - export CRTC bpc via debugfs
         - Initial devcoredump support
         - Enable high priority gfx queue on asics which support it
         - Adjust GART size on newer APUs for S/G display
         - Soft reset for GFX 11 / SDMA 6
         - Add gfxoff status query for vangogh
         - Fix timestamps for cursor only commits
         - Adjust GART size on newer APUs for S/G display
         - fix buddy memory corruption
      
        amdkfd:
         - MMU notifier fixes
         - P2P DMA support using dma-buf
         - Add available memory IOCTL
         - HMM profiler support
         - Simplify GPUVM validation
         - Unified memory for CWSR save/restore area
      
        i915:
         - General driver clean-up
         - DG2 enabling (still under force probe)
             - DG2 small BAR memory support
             - HuC loading support
             - DG2 workarounds
             - DG2/ATS-M device IDs added
         - Ponte Vecchio prep work and new blitter engines
         - add Meteorlake support
         - Fix sparse warnings
         - DMC MMIO range checks
         - Audio related fixes
         - Runtime PM fixes
         - PSR fixes
         - Media freq factor and per-gt enhancements
         - DSI fixes for ICL+
         - Disable DMC flip queue handlers
         - ADL_P voltage swing updates
         - Use more the VBT for panel information
         - Fix on Type-C ports with TBT mode
         - Improve fastset and allow seamless M/N changes
         - Accept more fixed modes with VRR/DMRRS panels
         - Disable connector polling for a headless SKU
         - ADL-S display PLL w/a
         - Enable THP on Icelake and beyond
         - Fix i915_gem_object_ggtt_pin_ww regression on old platforms
         - Expose per tile media freq factor in sysfs
         - Fix dma_resv fence handling in multi-batch execbuf
         - Improve on suspend / resume time with VT-d enabled
         - export CRTC bpc settings via debugfs
      
        msm:
         - gpu: a619 support
         - gpu: Fix for unclocked GMU register access
         - gpu: Devcore dump enhancements
         - client utilization via fdinfo support
         - fix fence rollover issue
         - gem: Lockdep false-positive warning fix
         - gem: Switch to pfn mappings
         - WB support on sc7180
         - dp: dropped custom bulk clock implementation
         - fix link retraining on resolution change
         - hdmi: dropped obsolete GPIO support
      
        tegra:
         - context isolation for host1x engines
         - tegra234 soc support
      
        mediatek:
         - add vdosys0/1 for mt8195
         - add MT8195 dp_intf driver
      
        exynos:
         - Fix resume function issue of exynos decon driver by calling
           clk_disable_unprepare() properly if clk_prepare_enable() failed.
      
        nouveau:
         - set of misc fixes/cleanups
         - display cleanups
      
        gma500:
         - Cleanup connector I2C handling
      
        hyperv:
         - Unify VRAM allocation of Gen1 and Gen2
      
        meson:
         - Support YUV422 output; Refcount fixes
      
        mgag200:
         - Support damage clipping
         - Support gamma handling
         - Protect concurrent HW access
         - Fixes to connector
         - Store model-specific limits in device-info structure
         - fix PCI register init
      
        panfrost:
         - Valhall support
      
        r128:
         - Fix bit-shift overflow
      
        rockchip:
         - Locking fixes in error path
      
        ssd130x:
         - Fix built-in linkage
      
        udl:
         - Always advertize VGA connector
      
        ast:
         - Support multiple outputs
         - fix black screen on resume
      
        sun4i:
         - HDMI PHY cleanups
      
        vc4:
         - Add support for BCM2711
      
        vkms:
         - Allocate output buffer with vmalloc()
      
        mcde:
         - Fix ref-count leak
      
        mxsfb/lcdif:
         - Support i.MX8MP LCD controller
      
        stm/ltdc:
         - Support dynamic Z order
         - Support mirroring
      
        ingenic:
         - Fix display at maximum resolution"
      
      * tag 'drm-next-2022-08-03' of git://anongit.freedesktop.org/drm/drm: (1480 commits)
        drm/amd/display: Fix a compilation failure on PowerPC caused by FPU code
        drm/amdgpu: enable support for psp 13.0.4 block
        drm/amdgpu: add files for PSP 13.0.4
        drm/amdgpu: add header files for MP 13.0.4
        drm/amdgpu: correct RLC_RLCS_BOOTLOAD_STATUS offset and index
        drm/amdgpu: send msg to IMU for the front-door loading
        drm/amdkfd: use time_is_before_jiffies(a + b) to replace "jiffies - a > b"
        drm/amdgpu: fix hive reference leak when reflecting psp topology info
        drm/amd/pm: enable GFX ULV feature support for SMU13.0.0
        drm/amd/pm: update driver if header for SMU 13.0.0
        drm/amdgpu: move mes self test after drm sched re-started
        drm/amdgpu: drop non-necessary call trace dump
        drm/amdgpu: enable VCN cg and JPEG cg/pg
        drm/amdgpu: vcn_4_0_2 video codec query
        drm/amdgpu: add VCN_4_0_2 firmware support
        drm/amdgpu: add VCN function in NBIO v7.7
        drm/amdgpu: fix a vcn4 boot poll bug in emulation mode
        drm/amd/amdgpu: add memory training support for PSP_V13
        drm/amdkfd: remove an unnecessary amdgpu_bo_ref
        drm/amd/pm: Add get_gfx_off_status interface for yellow carp
        ...
      b44f2fd8
    • Linus Torvalds's avatar
      Merge tag 'media/v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 12b68040
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - New driver for Semi AR0521 sensor
      
       - rkisp1 CSI code was split into a separate file
      
       - sun6i has gained support for the A31 MIPI CSI-2 controller
      
       - sun8i has gained support for the A83T MIPI CSI-2 controller
      
       - vimc driver got support for virtual lens
      
       - HEVC uAPI has gained its final form and got added to public headers
      
       - hantro and cedrus got updates on H-265 support
      
       - stkwebcam was promoted from staging
      
       - atomisp staging driver got cleanups on its hmm and kmap related logic
      
       - ov5640 gained support for more modes and got some rework
      
       - imx7-media-csi staging driver got several improvements related to mc
         API support
      
       - uvcvideo now handles better power line control
      
       - mediatec vcodec gained support for new hardware and got some codec
         updates
      
       - Lots of other bug fixes, improvements and cleanups.
      
      * tag 'media/v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (446 commits)
        media: hantro: Remove dedicated control documentation
        hantro: Remove incorrect HEVC SPS validation
        media: cedrus: hevc: Add check for invalid timestamp
        media: sunxi: sun6i_mipi_csi2.c/sun8i_a83t_mipi_csi2.c: clarify error handling
        media: uvcvideo: Fix invalid pointer in uvc_ctrl_init_ctrl()
        media: Documentation: mc-core: Fix typo
        media: videodev2.h.rst.exceptions: add missing exceptions
        media: vimc: wrong pointer is used with PTR_ERR
        media: rkisp1: debug: Add dump file in debugfs for MI main path registers
        media: rkisp1: Make the internal CSI-2 receiver optional
        media: rkisp1: Add infrastructure to support ISP features
        media: rkisp1: Support the ISP parallel input
        media: dt-bindings: media: rkisp1: Add port for parallel interface
        media: rkisp1: Use fwnode_graph_for_each_endpoint
        media: rkisp1: csi: Plumb the CSI RX subdev
        media: rkisp1: csi: Implement a V4L2 subdev for the CSI receiver
        media: rkisp1: isp: Disallow multiple active sources
        media: rkisp1: isp: Rename rkisp1_get_remote_source()
        media: rkisp1: isp: Constify various local variables
        media: rkisp1: isp: Fix whitespace issues
        ...
      12b68040
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 80dc7593
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - new drivers: Microchip CoreI2C, Renesas RZV2M
      
       - quite some DT schema conversions and extensions
      
       - and a bunch of driver updates and improvements
      
      * tag 'i2c-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (37 commits)
        i2c: extend documentation about retvals of master_xfer functions
        i2c: mux-gpmux: Add of_node_put() when breaking out of loop
        dt-bindings: i2c: i2c-rk3x: Document Rockchip RV1126
        i2c: qcom-geni: Use the correct return value
        i2c: cadence: Support PEC for SMBus block read
        i2c: qcom-geni: Propagate GENI_ABORT_DONE to geni_i2c_abort_xfer()
        i2c: brcmstb: Use dev_name() for adapter name
        i2c: Add Renesas RZ/V2M controller
        dt-bindings: i2c: Document RZ/V2M I2C controller
        i2c: mlxcpld: Add callback to notify probing completion
        i2c: scmi: Replace open coded device_get_match_data()
        i2c: stm32: add support for the STM32MP13 soc
        dt-bindings: i2c: st,stm32-i2c: add entry for stm32mp13
        dt-bindings: i2c: i2c-rk3x: add rk3588 compatible
        i2c: add support for microchip fpga i2c controllers
        i2c: i801: Add support for Intel Meteor Lake-P
        dt-bindings: i2c: nomadik: Add power domain to binding
        dt-bindings: i2c: nomadik: Drop unused voltage supply from example
        i2c: Fix a potential use after free
        i2c: hisi: use HZ_PER_KHZ macro in units.h
        ...
      80dc7593
  4. 03 Aug, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · f86d1fbb
      Linus Torvalds authored
      Pull networking changes from Paolo Abeni:
       "Core:
      
         - Refactor the forward memory allocation to better cope with memory
           pressure with many open sockets, moving from a per socket cache to
           a per-CPU one
      
         - Replace rwlocks with RCU for better fairness in ping, raw sockets
           and IP multicast router.
      
         - Network-side support for IO uring zero-copy send.
      
         - A few skb drop reason improvements, including codegen the source
           file with string mapping instead of using macro magic.
      
         - Rename reference tracking helpers to a more consistent netdev_*
           schema.
      
         - Adapt u64_stats_t type to address load/store tearing issues.
      
         - Refine debug helper usage to reduce the log noise caused by bots.
      
        BPF:
      
         - Improve socket map performance, avoiding skb cloning on read
           operation.
      
         - Add support for 64 bits enum, to match types exposed by kernel.
      
         - Introduce support for sleepable uprobes program.
      
         - Introduce support for enum textual representation in libbpf.
      
         - New helpers to implement synproxy with eBPF/XDP.
      
         - Improve loop performances, inlining indirect calls when possible.
      
         - Removed all the deprecated libbpf APIs.
      
         - Implement new eBPF-based LSM flavor.
      
         - Add type match support, which allow accurate queries to the eBPF
           used types.
      
         - A few TCP congetsion control framework usability improvements.
      
         - Add new infrastructure to manipulate CT entries via eBPF programs.
      
         - Allow for livepatch (KLP) and BPF trampolines to attach to the same
           kernel function.
      
        Protocols:
      
         - Introduce per network namespace lookup tables for unix sockets,
           increasing scalability and reducing contention.
      
         - Preparation work for Wi-Fi 7 Multi-Link Operation (MLO) support.
      
         - Add support to forciby close TIME_WAIT TCP sockets via user-space
           tools.
      
         - Significant performance improvement for the TLS 1.3 receive path,
           both for zero-copy and not-zero-copy.
      
         - Support for changing the initial MTPCP subflow priority/backup
           status
      
         - Introduce virtually contingus buffers for sockets over RDMA, to
           cope better with memory pressure.
      
         - Extend CAN ethtool support with timestamping capabilities
      
         - Refactor CAN build infrastructure to allow building only the needed
           features.
      
        Driver API:
      
         - Remove devlink mutex to allow parallel commands on multiple links.
      
         - Add support for pause stats in distributed switch.
      
         - Implement devlink helpers to query and flash line cards.
      
         - New helper for phy mode to register conversion.
      
        New hardware / drivers:
      
         - Ethernet DSA driver for the rockchip mt7531 on BPI-R2 Pro.
      
         - Ethernet DSA driver for the Renesas RZ/N1 A5PSW switch.
      
         - Ethernet DSA driver for the Microchip LAN937x switch.
      
         - Ethernet PHY driver for the Aquantia AQR113C EPHY.
      
         - CAN driver for the OBD-II ELM327 interface.
      
         - CAN driver for RZ/N1 SJA1000 CAN controller.
      
         - Bluetooth: Infineon CYW55572 Wi-Fi plus Bluetooth combo device.
      
        Drivers:
      
         - Intel Ethernet NICs:
            - i40e: add support for vlan pruning
            - i40e: add support for XDP framented packets
            - ice: improved vlan offload support
            - ice: add support for PPPoE offload
      
         - Mellanox Ethernet (mlx5)
            - refactor packet steering offload for performance and scalability
            - extend support for TC offload
            - refactor devlink code to clean-up the locking schema
            - support stacked vlans for bridge offloads
            - use TLS objects pool to improve connection rate
      
         - Netronome Ethernet NICs (nfp):
            - extend support for IPv6 fields mangling offload
            - add support for vepa mode in HW bridge
            - better support for virtio data path acceleration (VDPA)
            - enable TSO by default
      
         - Microsoft vNIC driver (mana)
            - add support for XDP redirect
      
         - Others Ethernet drivers:
            - bonding: add per-port priority support
            - microchip lan743x: extend phy support
            - Fungible funeth: support UDP segmentation offload and XDP xmit
            - Solarflare EF100: add support for virtual function representors
            - MediaTek SoC: add XDP support
      
         - Mellanox Ethernet/IB switch (mlxsw):
            - dropped support for unreleased H/W (XM router).
            - improved stats accuracy
            - unified bridge model coversion improving scalability (parts 1-6)
            - support for PTP in Spectrum-2 asics
      
         - Broadcom PHYs
            - add PTP support for BCM54210E
            - add support for the BCM53128 internal PHY
      
         - Marvell Ethernet switches (prestera):
            - implement support for multicast forwarding offload
      
         - Embedded Ethernet switches:
            - refactor OcteonTx MAC filter for better scalability
            - improve TC H/W offload for the Felix driver
            - refactor the Microchip ksz8 and ksz9477 drivers to share the
              probe code (parts 1, 2), add support for phylink mac
              configuration
      
         - Other WiFi:
            - Microchip wilc1000: diable WEP support and enable WPA3
            - Atheros ath10k: encapsulation offload support
      
        Old code removal:
      
         - Neterion vxge ethernet driver: this is untouched since more than 10 years"
      
      * tag 'net-next-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1890 commits)
        doc: sfp-phylink: Fix a broken reference
        wireguard: selftests: support UML
        wireguard: allowedips: don't corrupt stack when detecting overflow
        wireguard: selftests: update config fragments
        wireguard: ratelimiter: use hrtimer in selftest
        net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ
        net: usb: ax88179_178a: Bind only to vendor-specific interface
        selftests: net: fix IOAM test skip return code
        net: usb: make USB_RTL8153_ECM non user configurable
        net: marvell: prestera: remove reduntant code
        octeontx2-pf: Reduce minimum mtu size to 60
        net: devlink: Fix missing mutex_unlock() call
        net/tls: Remove redundant workqueue flush before destroy
        net: txgbe: Fix an error handling path in txgbe_probe()
        net: dsa: Fix spelling mistakes and cleanup code
        Documentation: devlink: add add devlink-selftests to the table of contents
        dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
        net: ionic: fix error check for vlan flags in ionic_set_nic_features()
        net: ice: fix error NETIF_F_HW_VLAN_CTAG_FILTER check in ice_vsi_sync_fltr()
        nfp: flower: add support for tunnel offload without key ID
        ...
      f86d1fbb
    • Linus Torvalds's avatar
      Merge tag 'ata-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 526942b8
      Linus Torvalds authored
      Pull ATA updates from Damien Le Moal:
      
       - Some code refactoring for the pata_hpt37x and pata_hpt3x2n drivers,
         from Sergei.
      
       - Several patches to cleanup in libata-core, libata-scsi and libata-eh
         code: fixes arguments and variables types, change some functions
         declaration to static and fix for a typo in a comment. From Sergey
         and Xiang.
      
       - Fix a compilation warning in the pata_macio driver, from me.
      
       - A fix for the expected number of resources in the sata_mv driver fix,
         from Andrew.
      
      * tag 'ata-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: sata_mv: Fixes expected number of resources now IRQs are gone
        ata: libata-scsi: fix result type of ata_ioc32()
        ata: pata_macio: Fix compilation warning
        ata: libata-eh: fix sloppy result type of ata_internal_cmd_timeout()
        ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]()
        ata: make ata_port::fastdrain_cnt *unsigned int*
        ata: libata-eh: fix sloppy result type of ata_eh_nr_in_flight()
        ata: libata-core: make ata_exec_internal_sg() *static*
        ata: make transfer mode masks *unsigned int*
        ata: libata-core: get rid of *else* branches in ata_id_n_sectors()
        ata: libata-core: fix sloppy typing in ata_id_n_sectors()
        ata: pata_hpt3x2n: pass base DPLL frequency to hpt3x2n_pci_clock()
        ata: pata_hpt37x: merge hpt374_read_freq() to hpt37x_pci_clock()
        ata: pata_hpt37x: factor out hpt37x_pci_clock()
        ata: pata_hpt37x: move claculating PCI clock from hpt37x_clock_slot()
        ata: libata: Fix syntax errors in comments
      526942b8
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · a39b5dbd
      Linus Torvalds authored
      Pull zonefs update from Damien Le Moal:
       "A single change for this cycle to simplify handling of the memory page
        used as super block buffer during mount (from Fabio)"
      
      * tag 'zonefs-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: Call page_address() on page acquired with GFP_KERNEL flag
      a39b5dbd
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f18d7309
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "The most notable change in this first batch is that we no longer
        schedule pages beyond i_size for writeback, preferring instead to let
        truncate deal with those pages.
      
        Next week, there may be a second pull request to remove
        iomap_writepage from the other two filesystems (gfs2/zonefs) that use
        iomap for buffered IO. This follows in the same vein as the recent
        removal of writepage from XFS, since it hasn't been triggered in a few
        years; it does nothing during direct reclaim; and as far as the people
        who examined the patchset can tell, it's moving the codebase in the
        right direction.
      
        However, as it was a late addition to for-next, I'm holding off on
        that section for another week of testing to see if anyone can come up
        with a solid reason for holding off in the meantime.
      
        Summary:
      
         - Skip writeback for pages that are completely beyond EOF
      
         - Minor code cleanups"
      
      * tag 'iomap-5.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        dax: set did_zero to true when zeroing successfully
        iomap: set did_zero to true when zeroing successfully
        iomap: skip pages past eof in iomap_do_writepage()
      f18d7309
    • Linus Torvalds's avatar
      Merge tag 'affs-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 2e4f8c72
      Linus Torvalds authored
      Pull affs fix from David Sterba:
       "One update to AFFS, switching away from the kmap/kmap_atomic API"
      
      * tag 'affs-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        affs: use memcpy_to_page and remove replace kmap_atomic()
      2e4f8c72
    • Linus Torvalds's avatar
      Merge tag 'for-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 353767e4
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This brings some long awaited changes, the send protocol bump,
        otherwise lots of small improvements and fixes. The main core part is
        reworking bio handling, cleaning up the submission and endio and
        improving error handling.
      
        There are some changes outside of btrfs adding helpers or updating
        API, listed at the end of the changelog.
      
        Features:
      
         - sysfs:
            - export chunk size, in debug mode add tunable for setting its size
            - show zoned among features (was only in debug mode)
            - show commit stats (number, last/max/total duration)
      
         - send protocol updated to 2
            - new commands:
               - ability write larger data chunks than 64K
               - send raw compressed extents (uses the encoded data ioctls),
                 ie. no decompression on send side, no compression needed on
                 receive side if supported
               - send 'otime' (inode creation time) among other timestamps
               - send file attributes (a.k.a file flags and xflags)
            - this is first version bump, backward compatibility on send and
              receive side is provided
            - there are still some known and wanted commands that will be
              implemented in the near future, another version bump will be
              needed, however we want to minimize that to avoid causing
              usability issues
      
         - print checksum type and implementation at mount time
      
         - don't print some messages at mount (mentioned as people asked about
           it), we want to print messages namely for new features so let's
           make some space for that
            - big metadata - this has been supported for a long time and is
              not a feature that's worth mentioning
            - skinny metadata - same reason, set by default by mkfs
      
        Performance improvements:
      
         - reduced amount of reserved metadata for delayed items
            - when inserted items can be batched into one leaf
            - when deleting batched directory index items
            - when deleting delayed items used for deletion
            - overall improved count of files/sec, decreased subvolume lock
              contention
      
         - metadata item access bounds checker micro-optimized, with a few
           percent of improved runtime for metadata-heavy operations
      
         - increase direct io limit for read to 256 sectors, improved
           throughput by 3x on sample workload
      
        Notable fixes:
      
         - raid56
            - reduce parity writes, skip sectors of stripe when there are no
              data updates
            - restore reading from on-disk data instead of using stripe cache,
              this reduces chances to damage correct data due to RMW cycle
      
         - refuse to replay log with unknown incompat read-only feature bit
           set
      
         - zoned
            - fix page locking when COW fails in the middle of allocation
            - improved tracking of active zones, ZNS drives may limit the
              number and there are ENOSPC errors due to that limit and not
              actual lack of space
            - adjust maximum extent size for zone append so it does not cause
              late ENOSPC due to underreservation
      
         - mirror reading error messages show the mirror number
      
         - don't fallback to buffered IO for NOWAIT direct IO writes, we don't
           have the NOWAIT semantics for buffered io yet
      
         - send, fix sending link commands for existing file paths when there
           are deleted and created hardlinks for same files
      
         - repair all mirrors for profiles with more than 1 copy (raid1c34)
      
         - fix repair of compressed extents, unify where error detection and
           repair happen
      
        Core changes:
      
         - bio completion cleanups
            - don't double defer compression bios
            - simplify endio workqueues
            - add more data to btrfs_bio to avoid allocation for read requests
            - rework bio error handling so it's same what block layer does,
              the submission works and errors are consumed in endio
            - when asynchronous bio offload fails fall back to synchronous
              checksum calculation to avoid errors under writeback or memory
              pressure
      
         - new trace points
            - raid56 events
            - ordered extent operations
      
         - super block log_root_transid deprecated (never used)
      
         - mixed_backref and big_metadata sysfs feature files removed, they've
           been default for sufficiently long time, there are no known users
           and mixed_backref could be confused with mixed_groups
      
        Non-btrfs changes, API updates:
      
         - minor highmem API update to cover const arguments
      
         - switch all kmap/kmap_atomic to kmap_local
      
         - remove redundant flush_dcache_page()
      
         - address_space_operations::writepage callback removed
      
         - add bdev_max_segments() helper"
      
      * tag 'for-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (163 commits)
        btrfs: don't call btrfs_page_set_checked in finish_compressed_bio_read
        btrfs: fix repair of compressed extents
        btrfs: remove the start argument to check_data_csum and export
        btrfs: pass a btrfs_bio to btrfs_repair_one_sector
        btrfs: simplify the pending I/O counting in struct compressed_bio
        btrfs: repair all known bad mirrors
        btrfs: merge btrfs_dev_stat_print_on_error with its only caller
        btrfs: join running log transaction when logging new name
        btrfs: simplify error handling in btrfs_lookup_dentry
        btrfs: send: always use the rbtree based inode ref management infrastructure
        btrfs: send: fix sending link commands for existing file paths
        btrfs: send: introduce recorded_ref_alloc and recorded_ref_free
        btrfs: zoned: wait until zone is finished when allocation didn't progress
        btrfs: zoned: write out partially allocated region
        btrfs: zoned: activate necessary block group
        btrfs: zoned: activate metadata block group on flush_space
        btrfs: zoned: disable metadata overcommit for zoned
        btrfs: zoned: introduce space_info->active_total_bytes
        btrfs: zoned: finish least available block group on data bg allocation
        btrfs: let can_allocate_chunk return error
        ...
      353767e4
    • Linus Torvalds's avatar
      Merge tag 'efi-efivars-removal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · ab17c0cd
      Linus Torvalds authored
      Pull efivars sysfs interface removal from Ard Biesheuvel:
       "Remove the obsolete 'efivars' sysfs based interface to the EFI
        variable store, now that all users have moved to the efivarfs pseudo
        file system, which was created ~10 years ago to address some
        fundamental shortcomings in the sysfs based driver.
      
        Move the 'business logic' related to which EFI variables are important
        and may affect the boot flow from the efivars support layer into the
        efivarfs pseudo file system, so it is no longer exposed to other parts
        of the kernel"
      
      * tag 'efi-efivars-removal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        efi: vars: Move efivar caching layer into efivarfs
        efi: vars: Switch to new wrapper layer
        efi: vars: Remove deprecated 'efivars' sysfs interface
      ab17c0cd
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 97a77ab1
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
      
       - Enable mirrored memory for arm64
      
       - Fix up several abuses of the efivar API
      
       - Refactor the efivar API in preparation for moving the 'business
         logic' part of it into efivarfs
      
       - Enable ACPI PRM on arm64
      
      * tag 'efi-next-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: (24 commits)
        ACPI: Move PRM config option under the main ACPI config
        ACPI: Enable Platform Runtime Mechanism(PRM) support on ARM64
        ACPI: PRM: Change handler_addr type to void pointer
        efi: Simplify arch_efi_call_virt() macro
        drivers: fix typo in firmware/efi/memmap.c
        efi: vars: Drop __efivar_entry_iter() helper which is no longer used
        efi: vars: Use locking version to iterate over efivars linked lists
        efi: pstore: Omit efivars caching EFI varstore access layer
        efi: vars: Add thin wrapper around EFI get/set variable interface
        efi: vars: Don't drop lock in the middle of efivar_init()
        pstore: Add priv field to pstore_record for backend specific use
        Input: applespi - avoid efivars API and invoke EFI services directly
        selftests/kexec: remove broken EFI_VARS secure boot fallback check
        brcmfmac: Switch to appropriate helper to load EFI variable contents
        iwlwifi: Switch to proper EFI variable store interface
        media: atomisp_gmin_platform: stop abusing efivar API
        efi: efibc: avoid efivar API for setting variables
        efi: avoid efivars layer when loading SSDTs from variables
        efi: Correct comment on efi_memmap_alloc
        memblock: Disable mirror feature if kernelcore is not specified
        ...
      97a77ab1
    • Linus Torvalds's avatar
      Merge tag 'pull-work.9p' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ff89dd08
      Linus Torvalds authored
      Pull 9p iov_iter fix from Al Viro:
       "net/9p abuses iov_iter primitives - it attempts to copy _from_ a
        destination-only iov_iter when it handles Rerror arriving in reply to
        zero-copy request.   Not hard to fix, fortunately.
      
        This is a prereq for the iov_iter_get_pages() work in the second part
        of iov_iter series, ended up in a separate branch"
      
      * tag 'pull-work.9p' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        9p: handling Rerror without copy_from_iter_full()
      ff89dd08
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d9b58ab7
      Linus Torvalds authored
      Pull copy_to_iter_mc fix from Al Viro:
       "Backportable fix for copy_to_iter_mc() - the second part of iov_iter
        work will pretty much overwrite this, but would be much harder to
        backport"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix short copy handling in copy_mc_pipe_to_iter()
      d9b58ab7
    • Linus Torvalds's avatar
      Merge tag 'pull-work.iov_iter-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5264406c
      Linus Torvalds authored
      Pull vfs iov_iter updates from Al Viro:
       "Part 1 - isolated cleanups and optimizations.
      
        One of the goals is to reduce the overhead of using ->read_iter() and
        ->write_iter() instead of ->read()/->write().
      
        new_sync_{read,write}() has a surprising amount of overhead, in
        particular inside iocb_flags(). That's the explanation for the
        beginning of the series is in this pile; it's not directly
        iov_iter-related, but it's a part of the same work..."
      
      * tag 'pull-work.iov_iter-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        first_iovec_segment(): just return address
        iov_iter: massage calling conventions for first_{iovec,bvec}_segment()
        iov_iter: first_{iovec,bvec}_segment() - simplify a bit
        iov_iter: lift dealing with maxpages out of first_{iovec,bvec}_segment()
        iov_iter_get_pages{,_alloc}(): cap the maxsize with MAX_RW_COUNT
        iov_iter_bvec_advance(): don't bother with bvec_iter
        copy_page_{to,from}_iter(): switch iovec variants to generic
        keep iocb_flags() result cached in struct file
        iocb: delay evaluation of IS_SYNC(...) until we want to check IOCB_DSYNC
        struct file: use anonymous union member for rcuhead and llist
        btrfs: use IOMAP_DIO_NOSYNC
        teach iomap_dio_rw() to suppress dsync
        No need of likely/unlikely on calls of check_copy_size()
      5264406c
    • Linus Torvalds's avatar
      Merge tag 'pull-work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 200e340f
      Linus Torvalds authored
      Pull vfs dcache updates from Al Viro:
       "The main part here is making parallel lookups safe for RT - making
        sure preemption is disabled in start_dir_add()/ end_dir_add() sections
        (on non-RT it's automatic, on RT it needs to to be done explicitly)
        and moving wakeups from __d_lookup_done() inside of such to the end of
        those sections.
      
        Wakeups can be safely delayed for as long as ->d_lock on in-lookup
        dentry is held; proving that has caught a bug in d_add_ci() that
        allows memory corruption when sufficiently bogus ntfs (or
        case-insensitive xfs) image is mounted. Easily fixed, fortunately"
      
      * tag 'pull-work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs/dcache: Move wakeup out of i_seq_dir write held region.
        fs/dcache: Move the wakeup from __d_lookup_done() to the caller.
        fs/dcache: Disable preemption on i_dir_seq write side on PREEMPT_RT
        d_add_ci(): make sure we don't miss d_lookup_done()
      200e340f
    • Linus Torvalds's avatar
      Merge tag 'pull-work.lseek' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a782e866
      Linus Torvalds authored
      Pull vfs lseek updates from Al Viro:
       "Jason's lseek series.
      
        Saner handling of 'lseek should fail with ESPIPE' - this gets rid of
        the magical no_llseek thing and makes checks consistent.
      
        In particular, the ad-hoc "can we do splice via internal pipe" checks
        got saner (and somewhat more permissive, which is what Jason had been
        after, AFAICT)"
      
      * tag 'pull-work.lseek' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: remove no_llseek
        fs: check FMODE_LSEEK to control internal pipe splicing
        vfio: do not set FMODE_LSEEK flag
        dma-buf: remove useless FMODE_LSEEK flag
        fs: do not compare against ->llseek
        fs: clear or set FMODE_LSEEK based on llseek function
      a782e866