1. 21 Dec, 2022 12 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2022122101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · d264dd3b
      Linus Torvalds authored
      Pull HID updates from Benjamin Tissoires:
      
       - Four potential NULL pointers dereferences (Bastien Nocera, Enrik
         Berkhan, Jiasheng Jiang and Roderick Colenbrander)
      
       - Allow Wacom devices in bootloader mode to be flashed (Jason Gerecke)
      
       - Some assorted devices quirks (José Expósito and Terry Junge)
      
      * tag 'for-linus-2022122101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: sony: Fix unused function warning
        HID: plantronics: Additional PIDs for double volume key presses quirk
        HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint
        HID: Ignore HP Envy x360 eu0009nv stylus battery
        HID: wacom: Ensure bootloader PID is usable in hidraw mode
        HID: amd_sfh: Add missing check for dma_alloc_coherent
        HID: playstation: fix free of uninialized pointer for DS4 in Bluetooth.
        HID: mcp2221: don't connect hidraw
        HID: logitech-hidpp: Guard FF init code against non-USB devices
      d264dd3b
    • Linus Torvalds's avatar
      Merge tag 'media/v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 5461e079
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - A regression at V4L2 core breaking string controls
      
       - Build warning fixes on sun6i drivers when building with clang
      
      * tag 'media/v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: sun6i-isp: params: Unregister pending buffer on cleanup
        media: sun6i-isp: params: Fix incorrect indentation
        media: sun6i-isp: capture: Fix uninitialized variable use
        media: sun6i-isp: proc: Declare subdev ops as static
        media: sun6i-isp: proc: Error out on invalid port to fix warning
        media: sun6i-isp: proc: Fix return code handling in stream off path
        media: sun8i-a83t-mipi-csi2: Clarify return code handling in stream off path
        media: sun6i-mipi-csi2: Clarify return code handling in stream off path
        media: sun6i-csi: capture: Remove useless ret initialization
        media: sun6i-csi: bridge: Error out on invalid port to fix warning
        media: v4l2-ctrls-api.c: add back dropped ctrl->is_new = 1
      5461e079
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.2-rc1' of... · 7a693ea7
      Linus Torvalds authored
      Merge tag 'pwm/for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "Various changes across the board, mostly improvements and cleanups"
      
      * tag 'pwm/for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (42 commits)
        pwm: pca9685: Convert to i2c's .probe_new()
        pwm: sun4i: Propagate errors in .get_state() to the caller
        pwm: Handle .get_state() failures
        pwm: sprd: Propagate errors in .get_state() to the caller
        pwm: rockchip: Propagate errors in .get_state() to the caller
        pwm: mtk-disp: Propagate errors in .get_state() to the caller
        pwm: imx27: Propagate errors in .get_state() to the caller
        pwm: cros-ec: Propagate errors in .get_state() to the caller
        pwm: crc: Propagate errors in .get_state() to the caller
        leds: qcom-lpg: Propagate errors in .get_state() to the caller
        drm/bridge: ti-sn65dsi86: Propagate errors in .get_state() to the caller
        pwm/tracing: Also record trace events for failed API calls
        pwm: Make .get_state() callback return an error code
        pwm: pxa: Enable for MMP platform
        pwm: pxa: Add reference manual link and limitations
        pwm: pxa: Use abrupt shutdown mode
        pwm: pxa: Remove clk enable/disable from pxa_pwm_config
        pwm: pxa: Set duty cycle to 0 when disabling PWM
        pwm: pxa: Remove pxa_pwm_enable/disable
        pwm: mediatek: Add support for MT7986
        ...
      7a693ea7
    • Linus Torvalds's avatar
      Merge tag 'rproc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 9cf5b508
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "rproc-virtio device names are now auto generated, to avoid conflicts
        between remoteproc instances.
      
        The imx_rproc driver is extended with support for communicating with
        and attaching to a running M4 on i.MX8QXP, as well as support for
        attaching to the M4 after self-recovering from a crash. Support is
        added for i.MX8QM and mailbox channels are reconnected during the
        recovery process, in order to avoid data corruption.
      
        The Xilinx Zynqmp firmware interface is extended and support for the
        Xilinx R5 RPU is introduced.
      
        Various resources leaks, primarily in error paths, throughout the
        Qualcomm drivers are corrected.
      
        Lastly a fix to ensure that pm_relax is invoked even if the remoteproc
        instance is stopped between a crash is being reported and the recovery
        handler is scheduled"
      
      * tag 'rproc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (25 commits)
        remoteproc: core: Do pm_relax when in RPROC_OFFLINE state
        remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in q6v5_wcss_qcs404_power_on()
        remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
        remoteproc: qcom_q6v5_pas: detach power domains on remove
        remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove
        remoteproc: qcom: q6v5: Fix potential null-ptr-deref in q6v5_wcss_init_mmio()
        remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
        remoteproc: sysmon: Make QMI message rules const
        drivers: remoteproc: Add Xilinx r5 remoteproc driver
        firmware: xilinx: Add RPU configuration APIs
        firmware: xilinx: Add shutdown/wakeup APIs
        firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU configuration.
        arm64: dts: xilinx: zynqmp: Add RPU subsystem device node
        dt-bindings: remoteproc: Add Xilinx RPU subsystem bindings
        remoteproc: core: Use device_match_of_node()
        remoteproc: imx_rproc: Correct i.MX93 DRAM mapping
        remoteproc: imx_rproc: Enable attach recovery for i.MX8QM/QXP
        remoteproc: imx_rproc: Request mbox channel later
        remoteproc: imx_rproc: Support i.MX8QM
        remoteproc: imx_rproc: Support kicking Mcore from Linux for i.MX8QXP
        ...
      9cf5b508
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.2' of git://git.linaro.org/landing-teams/working/fujitsu/integration · f2855eec
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - qcom: enable sc8280xp, sm8550 and sm4250 support
      
       - ti: default to ARCH_K3 for msg manager
      
       - mediatek:
          - add mt8188 and mt8186 support
          - request irq only after got ready
      
       - zynq-ipi: fix error handling after device_register
      
       - mpfs: check sys-con status
      
       - rockchip: simplify by using device_get_match_data
      
      * tag 'mailbox-v6.2' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt-bindings: mailbox: qcom-ipcc: Add compatible for SM8550
        mailbox: mtk-cmdq: Do not request irq until we are ready
        mailbox: zynq-ipi: fix error handling while device_register() fails
        mailbox: mtk-cmdq-mailbox: Use platform data directly instead of copying
        mailbox: arm_mhuv2: Fix return value check in mhuv2_probe()
        dt-bindings: mailbox: mediatek,gce-mailbox: add mt8188 compatible name
        dt-bindings: mailbox: add GCE header file for mt8188
        mailbox: mpfs: read the system controller's status
        mailbox: mtk-cmdq: add MT8186 support
        mailbox: mtk-cmdq: add gce ddr enable support flow
        mailbox: mtk-cmdq: add gce software ddr enable private data
        mailbox: mtk-cmdq: Use GCE_CTRL_BY_SW definition instead of number
        mailbox: rockchip: Use device_get_match_data() to simplify the code
        dt-bindings: mailbox: qcom-ipcc: Add sc8280xp compatible
        mailbox: config: ti-msgmgr: Default set to ARCH_K3 for TI msg manager
        mailbox: qcom-apcs-ipc: Add SM4250 APCS IPC support
        dt-bindings: mailbox: qcom: Add SM4250 APCS compatible
      f2855eec
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · ec34c2b4
      Linus Torvalds authored
      Pull backlight update from Lee Jones:
       "Convert a bunch of I2C class drivers over to .probe_new()"
      
      * tag 'backlight-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: tosa: Convert to i2c's .probe_new()
        backlight: lv5207lp: Convert to i2c's .probe_new()
        backlight: lp855x: Convert to i2c's .probe_new()
        backlight: lm3639: Convert to i2c's .probe_new()
        backlight: lm3630a: Convert to i2c's .probe_new()
        backlight: bd6107: Convert to i2c's .probe_new()
        backlight: arcxcnn: Convert to i2c's .probe_new()
        backlight: adp8870: Convert to i2c's .probe_new()
        backlight: adp8860: Convert to i2c's .probe_new()
      ec34c2b4
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 7406fd75
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers:
         - Add support for Ampere Computing SMpro
         - Add support for TI TPS65219 PMIC
      
        New Functionality:
         - Add support for multiple devices of the same type; rk808
      
        Fix-ups:
         - Convert a bunch of I2C class drivers over to .probe_new()
         - Remove superfluous includes; mc13xxx-*, palmas, timberdale
         - Use correct includes for GPIO handling; madera-core
         - Convert to GPIOD; twl6040
         - Remove unused platform data handling; twl6040
         - Device Tree changes; many
         - Remove unused drivers; dm355evm_msp, davinci_voicecodec, htc-i2cpld
         - Add support for modules; palmas
         - Enable COMPILE_TEST support; intel_soc_pmic*
         - Trivial: spelling / whitespace fixes; mc13xxx-spi
         - Replace old PM helpers with new ones; many
         - Convert deprecated mask_invert usage to unmask_base; many
         - Use devm_*() calls; qcom_rpm
         - MAINTAINER fix-ups
         - Make use of improved / replaced APIs; palmas, fsl-imx25-tsadc,
           stm32-lptimer, qcom_rpm, rohm-*
      
        Bug Fixes:
         - Add bounds / error checking; mt6360-core
         - No sleeping inside critical sections; axp20x
         - Fix missing dependencies; ROHM_BD957XMUF
         - Repair error paths; qcom-pm8008"
      
      * tag 'mfd-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (161 commits)
        dt-bindings: mfd: da9062: Correct file name for watchdog
        mfd: pm8008: Fix return value check in pm8008_probe()
        mfd: rohm: Use dev_err_probe()
        mfd: Drop obsolete dependencies on COMPILE_TEST
        dt-bindings: mfd: da9062: Move IRQ to optional properties
        mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code
        mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe()
        mfd: stm32-lptimer: Use devm_platform_get_and_ioremap_resource()
        mfd: rohm-bd9576: Convert to i2c's .probe_new()
        mfd: fsl-imx25-tsadc: Use devm_platform_get_and_ioremap_resource()
        dt-bindings: Fix maintainer email for a few ROHM ICs
        mfd: palmas: Use device_get_match_data() to simplify the code
        Input: Add tps65219 interrupt driven powerbutton
        mfd: tps65219: Add driver for TI TPS65219 PMIC
        mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ
        mfd: wcd934x: Convert irq chip to config regs
        mfd: tps65090: Replace irqchip mask_invert with unmask_base
        mfd: sun4i-gpadc: Replace irqchip mask_invert with unmask_base
        mfd: stpmic1: Fix swapped mask/unmask in irq chip
        mfd: sprd-sc27xx-spi: Replace irqchip mask_invert with unmask_base
        ...
      7406fd75
    • Linus Torvalds's avatar
      m68k: remove broken strcmp implementation · 7c084612
      Linus Torvalds authored
      The m68 hand-written assembler version of strcmp() has always been
      broken: it returns the difference between the first non-matching byte
      done as a 8-bit subtraction.
      
      That is _almost_ right, but is broken for the overflow case.  The
      strcmp() function should indeed return the sign of the difference
      between the first byte that differs, but the subtraction needs to be
      done in a wider type than 'char'.  Otherwise the ordering isn't actually
      stable.
      
      This went unnoticed for basically forever, because nobody ever cares
      about non-US-ASCII orderings in the kernel (in fact, most users only
      care about "exact match or not"), so overflows don't really happen in
      practice, even if it was very very wrong.
      
      But that mostly unnoticeable bug becomes very noticeable by the recent
      change to make 'char' be unsigned in the kernel across all architectures
      (commit 3bc753c0: "kbuild: treat char as always unsigned"). Because
      the code not only did the subtraction in the wrong type width, it also
      used 'char' to then make the compiler expand the result from an 8-bit
      difference to the 'int' return value.
      
      So now with an unsigned char that incorrect arithmetic width was then
      not even sign-expanded, and always returned just a positive integer.
      
      We could re-instate the old broken code by just turning the 'char' into
      'signed char' as has been done elsewhere where people depended on the
      signedness of 'char', but since the whole function was broken to begin
      with, and we have a non-broken default fallback implementation, let's
      just remove this broken function entirely.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Link: https://lore.kernel.org/lkml/20221221145332.GA2399037@roeck-us.net/
      Cc: Jason Donenfeld <Jason@zx2c4.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c084612
    • Linus Torvalds's avatar
      Merge tag 'net-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 609d3bc6
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf, netfilter and can.
      
        Current release - regressions:
      
         - bpf: synchronize dispatcher update with bpf_dispatcher_xdp_func
      
         - rxrpc:
            - fix security setting propagation
            - fix null-deref in rxrpc_unuse_local()
            - fix switched parameters in peer tracing
      
        Current release - new code bugs:
      
         - rxrpc:
            - fix I/O thread startup getting skipped
            - fix locking issues in rxrpc_put_peer_locked()
            - fix I/O thread stop
            - fix uninitialised variable in rxperf server
            - fix the return value of rxrpc_new_incoming_call()
      
         - microchip: vcap: fix initialization of value and mask
      
         - nfp: fix unaligned io read of capabilities word
      
        Previous releases - regressions:
      
         - stop in-kernel socket users from corrupting socket's task_frag
      
         - stream: purge sk_error_queue in sk_stream_kill_queues()
      
         - openvswitch: fix flow lookup to use unmasked key
      
         - dsa: mv88e6xxx: avoid reg_lock deadlock in mv88e6xxx_setup_port()
      
         - devlink:
            - hold region lock when flushing snapshots
            - protect devlink dump by the instance lock
      
        Previous releases - always broken:
      
         - bpf:
            - prevent leak of lsm program after failed attach
            - resolve fext program type when checking map compatibility
      
         - skbuff: account for tail adjustment during pull operations
      
         - macsec: fix net device access prior to holding a lock
      
         - bonding: switch back when high prio link up
      
         - netfilter: flowtable: really fix NAT IPv6 offload
      
         - enetc: avoid buffer leaks on xdp_do_redirect() failure
      
         - unix: fix race in SOCK_SEQPACKET's unix_dgram_sendmsg()
      
         - dsa: microchip: remove IRQF_TRIGGER_FALLING in
           request_threaded_irq"
      
      * tag 'net-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (64 commits)
        net: fec: check the return value of build_skb()
        net: simplify sk_page_frag
        Treewide: Stop corrupting socket's task_frag
        net: Introduce sk_use_task_frag in struct sock.
        mctp: Remove device type check at unregister
        net: dsa: microchip: remove IRQF_TRIGGER_FALLING in request_threaded_irq
        can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
        can: flexcan: avoid unbalanced pm_runtime_enable warning
        Documentation: devlink: add missing toc entry for etas_es58x devlink doc
        mctp: serial: Fix starting value for frame check sequence
        nfp: fix unaligned io read of capabilities word
        net: stream: purge sk_error_queue in sk_stream_kill_queues()
        myri10ge: Fix an error handling path in myri10ge_probe()
        net: microchip: vcap: Fix initialization of value and mask
        rxrpc: Fix the return value of rxrpc_new_incoming_call()
        rxrpc: rxperf: Fix uninitialised variable
        rxrpc: Fix I/O thread stop
        rxrpc: Fix switched parameters in peer tracing
        rxrpc: Fix locking issues in rxrpc_put_peer_locked()
        rxrpc: Fix I/O thread startup getting skipped
        ...
      609d3bc6
    • Linus Torvalds's avatar
      Merge tag 'fs.vfsuid.ima.v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · 878cf96f
      Linus Torvalds authored
      Pull vfsuid cleanup from Christian Brauner:
       "This moves the ima specific vfs{g,u}id_t comparison helpers out of the
        header and into the one file in ima where they are used.
      
        We shouldn't incentivize people to use them by placing them into the
        header. As discussed and suggested by Linus in [1] let's just define
        them locally in the one file in ima where they are used"
      
      Link: https://lore.kernel.org/lkml/CAHk-=wj4BpEwUd=OkTv1F9uykvSrsBNZJVHMp+p_+e2kiV71_A@mail.gmail.com [1]
      
      * tag 'fs.vfsuid.ima.v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        mnt_idmapping: move ima-only helpers to ima
      878cf96f
    • Linus Torvalds's avatar
      Merge tag 'random-6.2-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 222882c2
      Linus Torvalds authored
      Pull more random number generator updates from Jason Donenfeld:
       "Two remaining changes that are now possible after you merged a few
        other trees:
      
         - #include <asm/archrandom.h> can be removed from random.h now,
           making the direct use of the arch_random_* API more of a private
           implementation detail between the archs and random.c, rather than
           something for general consumers.
      
         - Two additional uses of prandom_u32_max() snuck in during the
           initial phase of pulls, so these have been converted to
           get_random_u32_below(), and now the deprecated prandom_u32_max()
           alias -- which was just a wrapper around get_random_u32_below() --
           can be removed.
      
        In addition, there is one fix:
      
         - Check efi_rt_services_supported() before attempting to use an EFI
           runtime function.
      
           This affected EFI systems that disable runtime services yet still
           boot via EFI (e.g. the reporter's Lenovo Thinkpad X13s laptop), as
           well systems where EFI runtime services have been forcibly
           disabled, such as on PREEMPT_RT.
      
           On those machines, a very early and hard to diagnose crash would
           happen, preventing boot"
      
      * tag 'random-6.2-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        prandom: remove prandom_u32_max()
        efi: random: fix NULL-deref when refreshing seed
        random: do not include <asm/archrandom.h> from random.h
      222882c2
    • Linus Torvalds's avatar
      Merge tag 'rcu-urgent.2022.12.17a' of... · 19822e3e
      Linus Torvalds authored
      Merge tag 'rcu-urgent.2022.12.17a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu
      
      Pull RCU fix from Paul McKenney:
       "This fixes a lockdep false positive in synchronize_rcu() that can
        otherwise occur during early boot.
      
        The fix simply avoids invoking lockdep if the scheduler has not yet
        been initialized, that is, during that portion of boot when interrupts
        are disabled"
      
      * tag 'rcu-urgent.2022.12.17a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        rcu: Don't assert interrupts enabled too early in boot
      19822e3e
  2. 20 Dec, 2022 22 commits
  3. 19 Dec, 2022 6 commits