Skip to content
  1. Jun 14, 2022
    • Alexandre Torgue's avatar
      ARM: dts: stm32: move SCMI related nodes in a dedicated file for stm32mp15 · 89931cb4
      Alexandre Torgue authored
      Adding a "secure" version of STM32 boards (DK1/DK2/ED1/EV1), SCMI (clock/
      reset) protocol and OP-TEE node have been added in SoC dtsi file
      (stm32mp151.dtsi). They have been added with a status disabled in order to
      keep our legacy unchanged. It is actually not enough to keep our legacy
      unchanged.
      
      First, just a reminder about our use case: TF-A (BL2) loads and starts
      OP-TEE, then loads and runs U-Boot. U-Boot code checks if an OP-TEE is
      running, if yes it searches in Kernel device tree if an OP-TEE node is
      present:
      
      -If the OP-TEE node is not present then U-Boot copies OP-TEE node and its
      reserved memory region from U-Boot device tree to the kernel device tree.
      
      -If the OP-TEE node is present then it does nothing (this OP-TEE node will
      be used by Linux). So U-Boot lets the kernel device tree unchanged thinking
      it is correct for an OP-TEE usage. It is the case for our legacy boards,
      the OP-TEE node is present (although disabled) but the reserved memory
      region is not declared. As no memory region has been reserved for OP-TEE,
      the end of DDR is seen by the kernel as free and then used for CMA. But as
      OP-TEE is running, this end of DDR is already used by OP-TEE. So as soon as
      kernel tries to access to the CMA region OP-TEE raises an error.
      
      To fix it, all OP-TEE node and SCMI is moved in a dedicated file.
      
      Fixes: 40b4157d
      
       ("ARM: dts: stm32: enable optee firmware and SCMI support on STM32MP15")
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
      Link: https://lore.kernel.org/r/20220613071920.5463-1-alexandre.torgue@foss.st.com'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      89931cb4
    • Arnd Bergmann's avatar
      Merge tag 'scmi-fixes-5.19' of... · 002ec157
      Arnd Bergmann authored
      
      Merge tag 'scmi-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes
      
      Arm SCMI firmware driver fixes for v5.19
      
      Bunch of fixes to address:
      1. Issues reported on RK3568 EVB1 and BPI-R2 pro platforms using SCMI.
         More checks were added to validate the firmware response but that
         resulted in breaking above platforms, so the checks are relaxed when
         for cases where there is no potential memory corruption issues.
      
      2. Possible data leak by reading more than required length from the firmware.
         Recent addition of support for v3.1 extended names used larger buffers
         in the kernel and used their size to read response from the firmware even
         for cases where shorter formats are used. While that is mostly harmless
         except when firmware sends malformed non-NULL terminated buffers.
      
      3. Possible issues sending unsupported commands to the firmware.
         SENSOR_AXIS_NAME_GET added in v3.1 needs to be used only if the firmware
         supports it. While the firmware conformant to the spec must return not
         supported error for any unsupported features, it is always safer to
         avoid issuing commands that are known to be unsupported.
      
      4. Incorrect error propagation in scmi_voltage_descriptors_get.
         Since the return value is not reset for each iteration of the loop, the
         error value in the previous iteration will be carried for the current one.
         Fix that by not saving the return values into local variable.
      
      5. Some warnings reported by cppcheck
      
      * tag 'scmi-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
        firmware: arm_scmi: Fix incorrect error propagation in scmi_voltage_descriptors_get
        firmware: arm_scmi: Avoid using extended string-buffers sizes if not necessary
        firmware: arm_scmi: Fix SENSOR_AXIS_NAME_GET behaviour when unsupported
        firmware: arm_scmi: Remove all the unused local variables
        firmware: arm_scmi: Relax base protocol sanity checks on the protocol list
      
      Link: https://lore.kernel.org/r/20220614100007.1029881-1-sudeep.holla@arm.com
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      002ec157
    • Arnd Bergmann's avatar
      Merge tag 'imx-fixes-5.19' of... · 2916bf22
      Arnd Bergmann authored
      
      Merge tag 'imx-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
      
      i.MX fixes for 5.19:
      
      - Correct i.MX7 power domain for HSIC USB PHY node to fix an USB Host
        issue, that is all downstream events will be lost if USB host is
        runtime suspended.
      - Fix i.MX8M blk-ctrl LCDIF2 power domain to point to refer to the
        correct clock.
      - Correct i.MX6Q/DL PU regulator ramp delay to fix some peripherals
        power-up failure especially when the chip is at a low temperature.
      - Fix capacitive touch reset polarity for imx6qdl-colibri board.
      
      * tag 'imx-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        soc: imx: imx8m-blk-ctrl: fix display clock for LCDIF2 power domain
        ARM: dts: imx6qdl-colibri: Fix capacitive touch reset polarity
        ARM: dts: imx6qdl: correct PU regulator ramp delay
        ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
      
      Link: https://lore.kernel.org/r/20220614095515.GU254723@dragon
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      2916bf22
    • Alexander Stein's avatar
      soc: imx: imx8m-blk-ctrl: fix display clock for LCDIF2 power domain · 7c7eaeef
      Alexander Stein authored
      LCDIF2 has its own display clock, use this one.
      
      Fixes: 07614fed
      
       ("soc: imx: imx8m-blk-ctrl: Add i.MX8MP media blk-ctrl")
      Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
      Reviewed-by: default avatarPaul Elder <paul.elder@ideasonboard.com>
      Tested-by: default avatarMartyn Welch <martyn.welch@collabora.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      7c7eaeef
    • Max Krummenacher's avatar
      ARM: dts: imx6qdl-colibri: Fix capacitive touch reset polarity · b426310e
      Max Krummenacher authored
      The commit feedaacd ("Input: atmel_mxt_ts - fix up inverted RESET
      handler") requires the reset GPIO to have GPIO_ACTIVE_LOW.
      
      Fixes: 1524b27c
      
       ("ARM: dts: imx6dl-colibri: Move common nodes to SoM dtsi")
      Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
      Signed-off-by: default avatarMax Krummenacher <max.krummenacher@toradex.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      b426310e
    • Lucas Stach's avatar
      ARM: dts: imx6qdl: correct PU regulator ramp delay · 93a8ba2a
      Lucas Stach authored
      Contrary to what was believed at the time, the ramp delay of 150us is not
      plenty for the PU LDO with the default step time of 512 pulses of the 24MHz
      clock. Measurements have shown that after enabling the LDO the voltage on
      VDDPU_CAP jumps to ~750mV in the first step and after that the regulator
      executes the normal ramp up as defined by the step size control.
      
      This means it takes the regulator between 360us and 370us to ramp up to
      the nominal 1.15V voltage for this power domain. With the old setting of
      the ramp delay the power up of the PU GPC domain would happen in the middle
      of the regulator ramp with the voltage being at around 900mV. Apparently
      this was enough for most units to properly power up the peripherals in the
      domain and execute the reset. Some units however, fail to power up properly,
      especially when the chip is at a low temperature. In that case any access
      to the GPU registers would yield an incorrect result with no way to recover
      from this situation.
      
      Change the ramp delay to 380us to cover the measured ramp up time with a
      bit of additional slack.
      
      Fixes: 40130d32
      
       ("ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay")
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      93a8ba2a
  2. Jun 13, 2022
    • Linus Torvalds's avatar
      Linux 5.19-rc2 · b13baccc
      Linus Torvalds authored
      v5.19-rc2
      b13baccc
    • Ludvig Pärsson's avatar
      firmware: arm_scmi: Fix incorrect error propagation in scmi_voltage_descriptors_get · 44dbdf3b
      Ludvig Pärsson authored
      
      
      scmi_voltage_descriptors_get() will incorrecly return an error code if
      the last iteration of the for loop that retrieves the descriptors is
      skipped due to an error. Skipping an iteration in the loop is not an
      error, but the `ret` value from the last iteration will be propagated
      when the function returns.
      
      Fix by not saving return values that should not be propagated. This
      solution also minimizes the risk of future patches accidentally
      re-introducing this bug.
      
      Link: https://lore.kernel.org/r/20220610140055.31491-1-ludvig.parsson@axis.com
      Reviewed-by: default avatarCristian Marussi <cristian.marussi@arm.com>
      Signed-off-by: default avatarLudvig Pärsson <ludvig.parsson@axis.com>
      [sudeep.holla: Removed unneeded reset_rx_to_maxsz and check for return
      value from scmi_voltage_levels_get as suggested by Cristian]
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      44dbdf3b
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.19-2' of... · 99795285
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Highlights:
      
         - Fix hp-wmi regression on HP Omen laptops introduced in 5.18
      
         - Several hardware-id additions
      
         - A couple of other tiny fixes"
      
      * tag 'platform-drivers-x86-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86/intel: hid: Add Surface Go to VGBS allow list
        platform/x86: hp-wmi: Use zero insize parameter only when supported
        platform/x86: hp-wmi: Resolve WMI query failures on some devices
        platform/x86: gigabyte-wmi: Add support for B450M DS3H-CF
        platform/x86: gigabyte-wmi: Add Z690M AORUS ELITE AX DDR4 support
        platform/x86: barco-p50-gpio: Add check for platform_driver_register
        platform/x86/intel: pmc: Support Intel Raptorlake P
        platform/x86/intel: Fix pmt_crashlog array reference
        platform/mellanox: Add static in struct declaration.
        platform/mellanox: Spelling s/platfom/platform/
      99795285
    • Linus Torvalds's avatar
      Merge tag 'wq-for-5.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · b0cb8db3
      Linus Torvalds authored
      Pull workqueue fixes from Tejun Heo:
       "Tetsuo's patch to trigger build warnings if system-wide wq's are
        flushed along with a TP type update and trivial comment update"
      
      * tag 'wq-for-5.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Switch to new kerneldoc syntax for named variable macro argument
        workqueue: Fix type of cpu in trace event
        workqueue: Wrap flush_workqueue() using a macro
      b0cb8db3
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.19' of... · e3b8e2de
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Make the *.mod build rule portable for POSIX awk
      
       - Fix regression of 'make nsdeps'
      
       - Make scripts/check-local-export working for older bash versions
      
       - Fix scripts/gdb to extract the .config data from vmlinux
      
      * tag 'kbuild-fixes-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        scripts/gdb: change kernel config dumping method
        scripts/check-local-export: avoid 'wait $!' for process substitution
        scripts/nsdeps: adjust to the format change of *.mod files
        kbuild: avoid regex RS for POSIX awk
      e3b8e2de
    • Linus Torvalds's avatar
      Merge tag '5.19-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 2275c6ba
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
       "Three reconnect fixes, all for stable as well.
      
        One of these three reconnect fixes does address a problem with
        multichannel reconnect, but this does not include the additional
        fix (still being tested) for dynamically detecting multichannel
        adapter changes which will improve those reconnect scenarios even
        more"
      
      * tag '5.19-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: populate empty hostnames for extra channels
        cifs: return errors during session setup during reconnects
        cifs: fix reconnect on smb3 mount types
      2275c6ba
    • Linus Torvalds's avatar
      Merge tag 'random-5.19-rc2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 3cae0d84
      Linus Torvalds authored
      Pull random number generator fixes from Jason Donenfeld:
      
       - A fix for a 5.19 regression for a case in which early device tree
         initializes the RNG, which flips a static branch.
      
         On most plaforms, jump labels aren't initialized until much later, so
         this caused splats. On a few mailing list threads, we cooked up easy
         fixes for arm64, arm32, and risc-v. But then things looked slightly
         more involved for xtensa, powerpc, arc, and mips. And at that point,
         when we're patching 7 architectures in a place before the console is
         even available, it seems like the cost/risk just wasn't worth it.
      
         So random.c works around it now by checking the already exported
         `static_key_initialized` boolean, as though somebody already ran into
         this issue in the past. I'm not super jazzed about that; it'd be
         prettier to not have to complicate downstream code. But I suppose
         it's practical.
      
       - A few small code nits and adding a missing __init annotation.
      
       - A change to the default config values to use the cpu and bootloader's
         seeds for initializing the RNG earlier.
      
         This brings them into line with what all the distros do (Fedora/RHEL,
         Debian, Ubuntu, Gentoo, Arch, NixOS, Alpine, SUSE, and Void... at
         least), and moreover will now give us test coverage in various test
         beds that might have caught the above device tree bug earlier.
      
       - A change to WireGuard CI's configuration to increase test coverage
         around the RNG.
      
       - A documentation comment fix to unrelated maintainerless CRC code that
         I was asked to take, I guess because it has to do with polynomials
         (which the RNG thankfully no longer uses).
      
      * tag 'random-5.19-rc2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        wireguard: selftests: use maximum cpu features and allow rng seeding
        random: remove rng_has_arch_random()
        random: credit cpu and bootloader seeds by default
        random: do not use jump labels before they are initialized
        random: account for arch randomness in bits
        random: mark bootloader randomness code as __init
        random: avoid checking crng_ready() twice in random_init()
        crc-itu-t: fix typo in CRC ITU-T polynomial comment
      3cae0d84
  3. Jun 12, 2022
    • Duke Lee's avatar
      platform/x86/intel: hid: Add Surface Go to VGBS allow list · d4fe9cc4
      Duke Lee authored
      
      
      The Surface Go reports Chassis Type 9 (Laptop,) so the device needs to be
      added to dmi_vgbs_allow_list to enable tablet mode when an attached Type
      Cover is folded back.
      
      BugLink: https://github.com/linux-surface/linux-surface/issues/837
      Signed-off-by: default avatarDuke Lee <krnhotwings@gmail.com>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Link: https://lore.kernel.org/r/20220607213654.5567-1-krnhotwings@gmail.com
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      d4fe9cc4
    • Bedant Patnaik's avatar
      platform/x86: hp-wmi: Use zero insize parameter only when supported · 65f936f3
      Bedant Patnaik authored
      commit be9d73e6 ("platform/x86: hp-wmi: Fix 0x05 error code reported by
      several WMI calls") and commit 12b19f14 ("platform/x86: hp-wmi: Fix
      hp_wmi_read_int() reporting error (0x05)") cause ACPI BIOS Error (bug):
      Attempt to CreateField of length zero (20211217/dsopcode-133) because of
      the ACPI method HWMC, which unconditionally creates a Field of
      size (insize*8) bits:
      	CreateField (Arg1, 0x80, (Local5 * 0x08), DAIN)
      In cases where args->insize = 0, the Field size is 0, resulting in
      an error.
      
      Fix this by using zero insize only if 0x5 error code is returned
      
      Tested on Omen 15 AMD (2020) board ID: 8786.
      
      Fixes: be9d73e6
      
       ("platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls")
      Signed-off-by: default avatarBedant Patnaik <bedant.patnaik@gmail.com>
      Tested-by: default avatarJorge Lopez <jorge.lopez2@hp.com>
      Link: https://lore.kernel.org/r/41be46743d21c78741232a47bbb5f1cdbcc3d21e.camel@gmail.com
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      65f936f3
    • Jorge Lopez's avatar
      platform/x86: hp-wmi: Resolve WMI query failures on some devices · dc6a6ab5
      Jorge Lopez authored
      WMI queries fail on some devices where the ACPI method HWMC
      unconditionally attempts to create Fields beyond the buffer
      if the buffer is too small, this breaks essential features
      such as power profiles:
      
               CreateByteField (Arg1, 0x10, D008)
               CreateByteField (Arg1, 0x11, D009)
               CreateByteField (Arg1, 0x12, D010)
               CreateDWordField (Arg1, 0x10, D032)
               CreateField (Arg1, 0x80, 0x0400, D128)
      
      In cases where args->data had zero length, ACPI BIOS Error
      (bug): AE_AML_BUFFER_LIMIT, Field [D008] at bit
      offset/length 128/8 exceeds size of target Buffer (128 bits)
      (20211217/dsopcode-198) was obtained.
      
      ACPI BIOS Error (bug): AE_AML_BUFFER_LIMIT, Field [D009] at bit
      offset/length 136/8 exceeds size of target Buffer (136bits)
      (20211217/dsopcode-198)
      
      The original code created a buffer size of 128 bytes regardless if
      the WMI call required a smaller buffer or not.  This particular
      behavior occurs in older BIOS and reproduced in OMEN laptops.  Newer
      BIOS handles buffer sizes properly and meets the latest specification
      requirements.  This is the reason why testing with a dynamically
      allocated buffer did not uncover any failures with the test systems at
      hand.
      
      This patch was tested on several OMEN, Elite, and Zbooks.  It was
      confirmed the patch resolves HPWMI_FAN GET/SET calls in an OMEN
      Laptop 15-ek0xxx.  No problems were reported when testing on several Elite
      and Zbooks notebooks.
      
      Fixes: 4b4967cb
      
       ("platform/x86: hp-wmi: Changing bios_args.data to be dynamically allocated")
      Signed-off-by: default avatarJorge Lopez <jorge.lopez2@hp.com>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Link: https://lore.kernel.org/r/20220608212923.8585-2-jorge.lopez2@hp.com
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      dc6a6ab5
    • Jonathan Neuschäfer's avatar
      workqueue: Switch to new kerneldoc syntax for named variable macro argument · 8bee9dd9
      Jonathan Neuschäfer authored
      The syntax without dots is available since commit 43756e34
      
      
      ("scripts/kernel-doc: Add support for named variable macro arguments").
      
      The same HTML output is produced with and without this patch.
      
      Signed-off-by: default avatarJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      8bee9dd9
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7a68065e
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "A set of fixes. Most address the new warning we emit at build time
        when irq chips are not immutable with some additional tweaks to
        gpio-crystalcove from Andy and a small tweak to gpio-dwapd.
      
         - make irq_chip structs immutable in several Diolan and intel drivers
           to get rid of the new warning we emit when fiddling with irq chips
      
         - don't print error messages on probe deferral in gpio-dwapb"
      
      * tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: dwapb: Don't print error on -EPROBE_DEFER
        gpio: dln2: make irq_chip immutable
        gpio: sch: make irq_chip immutable
        gpio: merrifield: make irq_chip immutable
        gpio: wcove: make irq_chip immutable
        gpio: crystalcove: Join function declarations and long lines
        gpio: crystalcove: Use specific type and API for IRQ number
        gpio: crystalcove: make irq_chip immutable
      7a68065e
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cecb3540
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Driver fixes and and one core patch.
      
        Nine of the driver patches are minor fixes and reworks to lpfc and the
        rest are trivial and minor fixes elsewhere"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pmcraid: Fix missing resource cleanup in error case
        scsi: ipr: Fix missing/incorrect resource cleanup in error case
        scsi: mpt3sas: Fix out-of-bounds compiler warning
        scsi: lpfc: Update lpfc version to 14.2.0.4
        scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
        scsi: lpfc: Add more logging of cmd and cqe information for aborted NVMe cmds
        scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
        scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted
        scsi: lpfc: Address NULL pointer dereference after starget_to_rport()
        scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
        scsi: lpfc: Resolve some cleanup issues following abort path refactoring
        scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event()
        scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
        scsi: sd: Fix interpretation of VPD B9h length
      cecb3540
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · abe71eb3
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "Fixes all over the place, most notably fixes for latent bugs in
        drivers that got exposed by suppressing interrupts before DRIVER_OK,
        which in turn has been done by 8b4ec69d ("virtio: harden vring
        IRQ")"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        um: virt-pci: set device ready in probe()
        vdpa: make get_vq_group and set_group_asid optional
        virtio: Fix all occurences of the "the the" typo
        vduse: Fix NULL pointer dereference on sysfs access
        vringh: Fix loop descriptors check in the indirect cases
        vdpa/mlx5: clean up indenting in handle_ctrl_vlan()
        vdpa/mlx5: fix error code for deleting vlan
        virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
        vdpa/mlx5: Fix syntax errors in comments
        virtio-rng: make device ready before making request
      abe71eb3
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-5.19-1' of... · 0678afa6
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen.
       "Fix build errors and a stale comment"
      
      * tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Remove MIPS comment about cycle counter
        LoongArch: Fix copy_thread() build errors
        LoongArch: Fix the !CONFIG_SMP build
      0678afa6
    • Linus Torvalds's avatar
      iov_iter: fix build issue due to possible type mis-match · 1c27f1fc
      Linus Torvalds authored
      Commit 6c776766
      
       ("iov_iter: Fix iter_xarray_get_pages{,_alloc}()")
      introduced a problem on some 32-bit architectures (at least arm, xtensa,
      csky,sparc and mips), that have a 'size_t' that is 'unsigned int'.
      
      The reason is that we now do
      
          min(nr * PAGE_SIZE - offset, maxsize);
      
      where 'nr' and 'offset' and both 'unsigned int', and PAGE_SIZE is
      'unsigned long'.  As a result, the normal C type rules means that the
      first argument to 'min()' ends up being 'unsigned long'.
      
      In contrast, 'maxsize' is of type 'size_t'.
      
      Now, 'size_t' and 'unsigned long' are always the same physical type in
      the kernel, so you'd think this doesn't matter, and from an actual
      arithmetic standpoint it doesn't.
      
      But on 32-bit architectures 'size_t' is commonly 'unsigned int', even if
      it could also be 'unsigned long'.  In that situation, both are unsigned
      32-bit types, but they are not the *same* type.
      
      And as a result 'min()' will complain about the distinct types (ignore
      the "pointer types" part of the error message: that's an artifact of the
      way we have made 'min()' check types for being the same):
      
        lib/iov_iter.c: In function 'iter_xarray_get_pages':
        include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
           20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
              |                                   ^~
        lib/iov_iter.c:1464:16: note: in expansion of macro 'min'
         1464 |         return min(nr * PAGE_SIZE - offset, maxsize);
              |                ^~~
      
      This was not visible on 64-bit architectures (where we always define
      'size_t' to be 'unsigned long').
      
      Force these cases to use 'min_t(size_t, x, y)' to make the type explicit
      and avoid the issue.
      
      [ Nit-picky note: technically 'size_t' doesn't have to match 'unsigned
        long' arithmetically. We've certainly historically seen environments
        with 16-bit address spaces and 32-bit 'unsigned long'.
      
        Similarly, even in 64-bit modern environments, 'size_t' could be its
        own type distinct from 'unsigned long', even if it were arithmetically
        identical.
      
        So the above type commentary is only really descriptive of the kernel
        environment, not some kind of universal truth for the kinds of wild
        and crazy situations that are allowed by the C standard ]
      
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Link: https://lore.kernel.org/all/YqRyL2sIqQNDfky2@debian/
      Cc: Jeff Layton <jlayton@kernel.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c27f1fc
  4. Jun 11, 2022