1. 17 Jun, 2022 4 commits
  2. 16 Jun, 2022 2 commits
    • Jakub Sitnicki's avatar
      selftests/bpf: Test tail call counting with bpf2bpf and data on stack · 5e0b0a4c
      Jakub Sitnicki authored
      Cover the case when tail call count needs to be passed from BPF function to
      BPF function, and the caller has data on stack. Specifically when the size
      of data allocated on BPF stack is not a multiple on 8.
      Signed-off-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Link: https://lore.kernel.org/bpf/20220616162037.535469-3-jakub@cloudflare.com
      5e0b0a4c
    • Jakub Sitnicki's avatar
      bpf, x86: Fix tail call count offset calculation on bpf2bpf call · ff672c67
      Jakub Sitnicki authored
      On x86-64 the tail call count is passed from one BPF function to another
      through %rax. Additionally, on function entry, the tail call count value
      is stored on stack right after the BPF program stack, due to register
      shortage.
      
      The stored count is later loaded from stack either when performing a tail
      call - to check if we have not reached the tail call limit - or before
      calling another BPF function call in order to pass it via %rax.
      
      In the latter case, we miscalculate the offset at which the tail call count
      was stored on function entry. The JIT does not take into account that the
      allocated BPF program stack is always a multiple of 8 on x86, while the
      actual stack depth does not have to be.
      
      This leads to a load from an offset that belongs to the BPF stack, as shown
      in the example below:
      
      SEC("tc")
      int entry(struct __sk_buff *skb)
      {
      	/* Have data on stack which size is not a multiple of 8 */
      	volatile char arr[1] = {};
      	return subprog_tail(skb);
      }
      
      int entry(struct __sk_buff * skb):
         0: (b4) w2 = 0
         1: (73) *(u8 *)(r10 -1) = r2
         2: (85) call pc+1#bpf_prog_ce2f79bb5f3e06dd_F
         3: (95) exit
      
      int entry(struct __sk_buff * skb):
         0xffffffffa0201788:  nop    DWORD PTR [rax+rax*1+0x0]
         0xffffffffa020178d:  xor    eax,eax
         0xffffffffa020178f:  push   rbp
         0xffffffffa0201790:  mov    rbp,rsp
         0xffffffffa0201793:  sub    rsp,0x8
         0xffffffffa020179a:  push   rax
         0xffffffffa020179b:  xor    esi,esi
         0xffffffffa020179d:  mov    BYTE PTR [rbp-0x1],sil
         0xffffffffa02017a1:  mov    rax,QWORD PTR [rbp-0x9]	!!! tail call count
         0xffffffffa02017a8:  call   0xffffffffa02017d8       !!! is at rbp-0x10
         0xffffffffa02017ad:  leave
         0xffffffffa02017ae:  ret
      
      Fix it by rounding up the BPF stack depth to a multiple of 8, when
      calculating the tail call count offset on stack.
      
      Fixes: ebf7d1f5 ("bpf, x64: rework pro/epilogue and tailcall handling in JIT")
      Signed-off-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarMaciej Fijalkowski <maciej.fijalkowski@intel.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Link: https://lore.kernel.org/bpf/20220616162037.535469-2-jakub@cloudflare.com
      ff672c67
  3. 15 Jun, 2022 2 commits
  4. 14 Jun, 2022 4 commits
  5. 13 Jun, 2022 12 commits
  6. 11 Jun, 2022 5 commits
  7. 10 Jun, 2022 11 commits
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · aa3398fb
      Linus Torvalds authored
      Pull more devicetree fixes from Rob Herring:
      
       - More DT meta-schema check fixes from new bindings in merge window
      
       - Fix stale DT binding references from Mauro
      
       - Update various binding maintainers
      
       - Fix in arm,malidp properties to match reality
      
       - Add deprecated 'atheros' vendor prefix
      
      * tag 'devicetree-fixes-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: display: arm,malidp: remove bogus RQOS property
        dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries
        dt-bindings: Drop more redundant 'maxItems/minItems' in if/then schemas
        dt-bindings: nvme: apple,nvme-ans: Drop 'maxItems' from 'apple,sart'
        MAINTAINERS: rectify entries for ARM DRM DRIVERS after dt conversion
        MAINTAINERS: update snps,axs10x-reset.yaml reference
        MAINTAINERS: update dongwoon,dw9807-vcm.yaml reference
        MAINTAINERS: update cortina,gemini-ethernet.yaml reference
        dt-bindings: mfd: rk808: update rockchip,rk808.yaml reference
        dt-bindings: reset: update st,stih407-powerdown.yaml references
        dt-bindings: arm: update vexpress-config.yaml references
        dt-bindings: interrupt-controller: update brcm,l2-intc.yaml reference
        dt-bindings: mfd: bd9571mwv: update rohm,bd9571mwv.yaml reference
        dt-bindings: update Luca Ceresoli's e-mail address
        dt-bindings: msm: update maintainers list with proper id
        dt-bindings: vendor-prefixes: document deprecated Atheros
        dt-bindings: Update QCOM USB subsystem maintainer information
      aa3398fb
    • Linus Torvalds's avatar
      Merge tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1bc27dec
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix an intel_idle issue introduced during the 5.16 development
        cycle and two recent regressions in the system reboot/poweroff code.
      
        Specifics:
      
         - Fix CPUIDLE_FLAG_IRQ_ENABLE handling in intel_idle (Peter Zijlstra)
      
         - Allow all platforms to use the global poweroff handler and make
           non-syscall poweroff code paths work again (Dmitry Osipenko)"
      
      * tag 'pm-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      1bc27dec
    • David Howells's avatar
      certs: Convert spaces in certs/Makefile to a tab · d56fd986
      David Howells authored
      There's a rule in certs/Makefile for which the command begins with eight
      spaces.  This results in:
      
              ../certs/Makefile:21: FORCE prerequisite is missing
              ../certs/Makefile:21: *** missing separator.  Stop.
      
      Fix this by turning the spaces into a tab.
      
      Fixes: addf4663 ("certs: Check that builtin blacklist hashes are valid")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: default avatarMickaël Salaün <mic@linux.microsoft.com>
      cc: keyrings@vger.kernel.org
      Link: https://lore.kernel.org/r/486b1b80-9932-aab6-138d-434c541c934a@digikod.net/ # v1
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d56fd986
    • Andre Przywara's avatar
      dt-bindings: display: arm,malidp: remove bogus RQOS property · 0b9431c8
      Andre Przywara authored
      As Liviu pointed out, the arm,malidp-arqos-high-level property
      mentioned in the original .txt binding was a mistake, and
      arm,malidp-arqos-value needs to take its place.
      
      The binding commit ce6eb025 ("dt/bindings: display: Add optional
      property node define for Mali DP500") mentions the right name in the
      commit message, but has the wrong name in the diff.
      Commit d298e6a2 ("drm/arm/mali-dp: Add display QoS interface
      configuration for Mali DP500") uses the property in the driver, but uses
      the shorter name.
      
      Remove the wrong property from the binding, and use the proper name in
      the example. The actual property was already documented properly.
      
      Fixes: 2c8b082a ("dt-bindings: display: convert Arm Mali-DP to DT schema")
      Link: https://lore.kernel.org/linux-arm-kernel/YnumGEilUblhBx8E@e110455-lin.cambridge.arm.com/Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
      Reported-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220609162729.1441760-1-andre.przywara@arm.com
      0b9431c8
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sysoff' · 67e59f8d
      Rafael J. Wysocki authored
      Merge fixes for regressions introduced by the recent rework of the
      system reboot/poweroff code.
      
      * pm-sysoff:
        kernel/reboot: Fix powering off using a non-syscall code paths
        kernel/reboot: Use static handler for register_platform_power_off()
      67e59f8d
    • Rob Herring's avatar
      dt-bindings: pinctrl: ralink: Fix 'enum' lists with duplicate entries · 01aa6cbf
      Rob Herring authored
      There's no reason to list the same value twice in an 'enum'. This was fixed
      treewide in commit c3b00681 ("dt-bindings: Fix 'enum' lists with
      duplicate entries"), but this one got added in the merge window.
      
      A meta-schema change will catch future cases.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarSergio Paracuellos <sergio.paracuellos@gmail.com>
      Link: https://lore.kernel.org/r/20220606212239.1360877-1-robh@kernel.org
      01aa6cbf
    • Linus Torvalds's avatar
      Merge tag 'docs-5.19-3' of git://git.lwn.net/linux · fe43c018
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A few documentation fixes for 5.19, including moving the new HTE docs
        to a more suitable location, adding loongarch to the features lists,
        and a couple of typo fixes"
      
      * tag 'docs-5.19-3' of git://git.lwn.net/linux:
        docs: arm: tcm: Fix typo in description of TCM and MMU usage
        docs: Move the HTE documentation to driver-api/
        docs: usb: fix literal block marker in usbmon verification example
        Documentation/features: Update the arch support status files
      fe43c018
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 36a23663
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - SME save/restore for EFI fix - incorrect logic for detecting the need
         for saving/restoring the FFR state.
      
       - SME fix for a CPU ID field value.
      
       - Sysreg generation awk script fix (comparison operator).
      
       - Some typos in documentation or comments and silence a sparse warning
         (missing prototype).
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Add kasan_hw_tags_enable() prototype to silence sparse
        arm64/sme: Fix EFI save/restore
        arm64/fpsimd: Fix typo in comment
        arm64/sysreg: Fix typo in Enum element regex
        arm64/sme: Fix SVE/SME typo in ABI documentation
        arm64/sme: Fix tests for 0b1111 value ID registers
      36a23663
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · ad6e0764
      Linus Torvalds authored
      Pull zonefs fixes from Damien Le Moal:
      
       - Fix handling of the explicit-open mount option, and in particular the
         conditions under which this option can be ignored.
      
       - Fix a problem with zonefs iomap_begin method, causing a hang in
         iomap_readahead() when a readahead request reaches the end of a file.
      
      * tag 'zonefs-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: fix zonefs_iomap_begin() for reads
        zonefs: Do not ignore explicit_open with active zone limit
        zonefs: fix handling of explicit_open option on mount
      ad6e0764
    • Linus Torvalds's avatar
      Merge tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · f7a1d00e
      Linus Torvalds authored
      Pull ATA fixes from Damien Le Moal:
       "Several small fixes for rc2:
      
         - Remove unused field in struct ata_port (Hannes)
      
         - Fix a potential (very unlikely) NULL pointer dereference in
           ata_host_alloc_pinfo() (Sergey)
      
         - Fix a device reference leak in the pata_octeon_cf driver (Miaoqian)
      
         - Fixes for handling access to the concurrent positioning ranges log
           page used with multi-actuator HDDs (Tyler)
      
         - Fix the values shown by the pio_mode and dma_mode sysfs device
           attributes (Sergey)
      
         - Update the MAINTAINERS file to add libata sysfs ABI documentation
           file (Sergey)"
      
      * tag 'ata-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        MAINTAINERS: add ATA sysfs file documentation to libata entry
        ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
        libata: fix translation of concurrent positioning ranges
        libata: fix reading concurrent positioning ranges log
        ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
        ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
        ata: libata: drop 'sas_last_tag'
      f7a1d00e
    • Linus Torvalds's avatar
      Merge tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 8f7ac50c
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes; almost all changes are device-specific small
        fixes over ASoC, HD-audio and USB-audio. No sign of serious breakage,
        so far"
      
      * tag 'sound-5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: hda/realtek: Add quirk for HP Dev One
        ALSA: hda/realtek - Add HW8326 support
        ALSA: hda/conexant - Fix loopback issue with CX20632
        ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID
        ALSA: usb-audio: Set up (implicit) sync for Saffire 6
        ALSA: usb-audio: Skip generic sync EP parse for secondary EP
        ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
        ASoC: es8328: Fix event generation for deemphasis control
        ASoC: wm8962: Fix suspend while playing music
        ASoC: SOF: ipc-msg-injector: Fix reversed if statement
        ASoC: SOF: ipc-msg-injector: Propagate write errors correctly
        ASoC: fsl_sai: Add support for i.MX8MN
        ASoC: SOF: Fix potential NULL pointer dereference
        ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021
        ASoC: cs42l51: Correct minimum value for SX volume control
        ASoC: cs42l56: Correct typo in minimum level for SX volume controls
        ASoC: cs42l52: Correct TLV for Bypass Volume
        ASoC: cs53l30: Correct number of volume levels on SX controls
        ASoC: cs35l36: Update digital volume TLV
        ASoC: cs42l52: Fix TLV scales for mixer controls
        ...
      8f7ac50c