1. 13 Mar, 2023 13 commits
  2. 12 Mar, 2023 12 commits
    • Linus Torvalds's avatar
      Linux 6.3-rc2 · eeac8ede
      Linus Torvalds authored
      eeac8ede
    • Hector Martin's avatar
      wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext" · 79d1ed5c
      Hector Martin authored
      This reverts part of commit 015b8cc5 ("wifi: cfg80211: Fix use after
      free for wext")
      
      This commit broke WPA offload by unconditionally clearing the crypto
      modes for non-WEP connections. Drop that part of the patch.
      Signed-off-by: default avatarHector Martin <marcan@marcan.st>
      Reported-by: default avatarIlya <me@0upti.me>
      Reported-and-tested-by: default avatarJanne Grunau <j@jannau.net>
      Reviewed-by: default avatarEric Curtin <ecurtin@redhat.com>
      Fixes: 015b8cc5 ("wifi: cfg80211: Fix use after free for wext")
      Cc: stable@kernel.org
      Link: https://lore.kernel.org/linux-wireless/ZAx0TWRBlGfv7pNl@kroah.com/T/#m11e6e0915ab8fa19ce8bc9695ab288c0fe018edfSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      79d1ed5c
    • Linus Torvalds's avatar
      Merge tag 'tpm-v6.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · c4ecd87f
      Linus Torvalds authored
      Pull tpm fixes from Jarkko Sakkinen:
       "Two additional bug fixes for v6.3"
      
      * tag 'tpm-v6.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: disable hwrng for fTPM on some AMD designs
        tpm/eventlog: Don't abort tpm_read_log on faulty ACPI address
      c4ecd87f
    • Mario Limonciello's avatar
      tpm: disable hwrng for fTPM on some AMD designs · f1324bbc
      Mario Limonciello authored
      AMD has issued an advisory indicating that having fTPM enabled in
      BIOS can cause "stuttering" in the OS.  This issue has been fixed
      in newer versions of the fTPM firmware, but it's up to system
      designers to decide whether to distribute it.
      
      This issue has existed for a while, but is more prevalent starting
      with kernel 6.1 because commit b006c439 ("hwrng: core - start
      hwrng kthread also for untrusted sources") started to use the fTPM
      for hwrng by default. However, all uses of /dev/hwrng result in
      unacceptable stuttering.
      
      So, simply disable registration of the defective hwrng when detecting
      these faulty fTPM versions.  As this is caused by faulty firmware, it
      is plausible that such a problem could also be reproduced by other TPM
      interactions, but this hasn't been shown by any user's testing or reports.
      
      It is hypothesized to be triggered more frequently by the use of the RNG
      because userspace software will fetch random numbers regularly.
      
      Intentionally continue to register other TPM functionality so that users
      that rely upon PCR measurements or any storage of data will still have
      access to it.  If it's found later that another TPM functionality is
      exacerbating this problem a module parameter it can be turned off entirely
      and a module parameter can be introduced to allow users who rely upon
      fTPM functionality to turn it on even though this problem is present.
      
      Link: https://www.amd.com/en/support/kb/faq/pa-410
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216989
      Link: https://lore.kernel.org/all/20230209153120.261904-1-Jason@zx2c4.com/
      Fixes: b006c439 ("hwrng: core - start hwrng kthread also for untrusted sources")
      Cc: stable@vger.kernel.org
      Cc: Jarkko Sakkinen <jarkko@kernel.org>
      Cc: Thorsten Leemhuis <regressions@leemhuis.info>
      Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
      Tested-by: reach622@mailcuk.com
      Tested-by: default avatarBell <1138267643@qq.com>
      Co-developed-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      f1324bbc
    • Morten Linderud's avatar
      tpm/eventlog: Don't abort tpm_read_log on faulty ACPI address · 80a6c216
      Morten Linderud authored
      tpm_read_log_acpi() should return -ENODEV when no eventlog from the ACPI
      table is found. If the firmware vendor includes an invalid log address
      we are unable to map from the ACPI memory and tpm_read_log() returns -EIO
      which would abort discovery of the eventlog.
      
      Change the return value from -EIO to -ENODEV when acpi_os_map_iomem()
      fails to map the event log.
      
      The following hardware was used to test this issue:
          Framework Laptop (Pre-production)
          BIOS: INSYDE Corp, Revision: 3.2
          TPM Device: NTC, Firmware Revision: 7.2
      
      Dump of the faulty ACPI TPM2 table:
          [000h 0000   4]                    Signature : "TPM2"    [Trusted Platform Module hardware interface Table]
          [004h 0004   4]                 Table Length : 0000004C
          [008h 0008   1]                     Revision : 04
          [009h 0009   1]                     Checksum : 2B
          [00Ah 0010   6]                       Oem ID : "INSYDE"
          [010h 0016   8]                 Oem Table ID : "TGL-ULT"
          [018h 0024   4]                 Oem Revision : 00000002
          [01Ch 0028   4]              Asl Compiler ID : "ACPI"
          [020h 0032   4]        Asl Compiler Revision : 00040000
      
          [024h 0036   2]               Platform Class : 0000
          [026h 0038   2]                     Reserved : 0000
          [028h 0040   8]              Control Address : 0000000000000000
          [030h 0048   4]                 Start Method : 06 [Memory Mapped I/O]
      
          [034h 0052  12]            Method Parameters : 00 00 00 00 00 00 00 00 00 00 00 00
          [040h 0064   4]           Minimum Log Length : 00010000
          [044h 0068   8]                  Log Address : 000000004053D000
      
      Fixes: 0cf577a0 ("tpm: Fix handling of missing event log")
      Tested-by: default avatarErkki Eilonen <erkki@bearmetal.eu>
      Signed-off-by: default avatarMorten Linderud <morten@linderud.pw>
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      80a6c216
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 2e545d69
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix a crash if mount time quotacheck fails when there are inodes
         queued for garbage collection.
      
       - Fix an off by one error when discarding folios after writeback
         failure.
      
      * tag 'xfs-6.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix off-by-one-block in xfs_discard_folio()
        xfs: quotacheck failure can race with background inode inactivation
      2e545d69
    • Linus Torvalds's avatar
      Merge tag 'staging-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 13423166
      Linus Torvalds authored
      Pull staging driver fixes and removal from Greg KH:
       "Here are four small staging driver fixes, and one big staging driver
        deletion for 6.3-rc2.
      
        The fixes are:
      
         - rtl8192e driver fixes for where the driver was attempting to
           execute various programs directly from the disk for unknown reasons
      
         - rtl8723bs driver fixes for issues found by Hans in testing
      
        The deleted driver is the removal of the r8188eu wireless driver as
        now in 6.3-rc1 we have a "real" wifi driver for one that includes
        support for many many more devices than this old driver did. So it's
        time to remove it as it is no longer needed. The maintainers of this
        driver all have acked its removal. Many thanks to them over the years
        for working to clean it up and keep it working while the real driver
        was being developed.
      
        All of these have been in linux-next this week with no reported
        problems"
      
      * tag 'staging-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: delete driver
        staging: rtl8723bs: Pass correct parameters to cfg80211_get_bss()
        staging: rtl8723bs: Fix key-store index handling
        staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
        staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
      13423166
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.3_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d3d0cac6
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
       "A single erratum fix for AMD machines:
      
         - Disable XSAVES on AMD Zen1 and Zen2 machines due to an erratum. No
           impact to anything as those machines will fallback to XSAVEC which
           is equivalent there"
      
      * tag 'x86_urgent_for_v6.3_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/CPU/AMD: Disable XSAVES on AMD family 0x17
      d3d0cac6
    • Linus Torvalds's avatar
      Merge tag 'kernel.fork.v6.3-rc2' of gitolite.kernel.org:pub/scm/linux/kernel/git/brauner/linux · f5eded1f
      Linus Torvalds authored
      Pull clone3 fix from Christian Brauner:
       "A simple fix for the clone3() system call.
      
        The CLONE_NEWTIME allows the creation of time namespaces. The flag
        reuses a bit from the CSIGNAL bits that are used in the legacy clone()
        system call to set the signal that gets sent to the parent after the
        child exits.
      
        The clone3() system call doesn't rely on CSIGNAL anymore as it uses a
        dedicated .exit_signal field in struct clone_args. So we blocked all
        CSIGNAL bits in clone3_args_valid(). When CLONE_NEWTIME was introduced
        and reused a CSIGNAL bit we forgot to adapt clone3_args_valid()
        causing CLONE_NEWTIME with clone3() to be rejected. Fix this"
      
      * tag 'kernel.fork.v6.3-rc2' of gitolite.kernel.org:pub/scm/linux/kernel/git/brauner/linux:
        selftests/clone3: test clone3 with CLONE_NEWTIME
        fork: allow CLONE_NEWTIME in clone3 flags
      f5eded1f
    • Linus Torvalds's avatar
      Merge tag 'vfs.misc.v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping · 3b11717f
      Linus Torvalds authored
      Pull vfs fixes from Christian Brauner:
      
       - When allocating pages for a watch queue failed, we didn't return an
         error causing userspace to proceed even though all subsequent
         notifcations would be lost. Make sure to return an error.
      
       - Fix a misformed tree entry for the idmapping maintainers entry.
      
       - When setting file leases from an idmapped mount via
         generic_setlease() we need to take the idmapping into account
         otherwise taking a lease would fail from an idmapped mount.
      
       - Remove two redundant assignments, one in splice code and the other in
         locks code, that static checkers complained about.
      
      * tag 'vfs.misc.v6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping:
        filelocks: use mount idmapping for setlease permission check
        fs/locks: Remove redundant assignment to cmd
        splice: Remove redundant assignment to ret
        MAINTAINERS: repair a malformed T: entry in IDMAPPED MOUNTS
        watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths
      3b11717f
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 40d0c090
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Bug fixes and regressions for ext4, the most serious of which is a
        potential deadlock during directory renames that was introduced during
        the merge window discovered by a combination of syzbot and lockdep"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: zero i_disksize when initializing the bootloader inode
        ext4: make sure fs error flag setted before clear journal error
        ext4: commit super block if fs record error when journal record without error
        ext4, jbd2: add an optimized bmap for the journal inode
        ext4: fix WARNING in ext4_update_inline_data
        ext4: move where set the MAY_INLINE_DATA flag is set
        ext4: Fix deadlock during directory rename
        ext4: Fix comment about the 64BIT feature
        docs: ext4: modify the group desc size to 64
        ext4: fix another off-by-one fsmap error on 1k block filesystems
        ext4: fix RENAME_WHITEOUT handling for inline directories
        ext4: make kobj_type structures constant
        ext4: fix cgroup writeback accounting with fs-layer encryption
      40d0c090
    • Linus Torvalds's avatar
      cpumask: relax sanity checking constraints · e7304080
      Linus Torvalds authored
      The cpumask_check() was unnecessarily tight, and causes problems for the
      users of cpumask_next().
      
      We have a number of users that take the previous return value of one of
      the bit scanning functions and subtract one to keep it in "range".  But
      since the scanning functions end up returning up to 'small_cpumask_bits'
      instead of the tighter 'nr_cpumask_bits', the range really needs to be
      using that widened form.
      
      [ This "previous-1" behavior is also the reason we have all those
        comments about /* -1 is a legal arg here. */ and separate checks for
        that being ok.  So we could have just made "small_cpumask_bits-1"
        be a similar special "don't check this" value.
      
        Tetsuo Handa even suggested a patch that only does that for
        cpumask_next(), since that seems to be the only actual case that
        triggers, but that all makes it even _more_ magical and special. So
        just relax the check ]
      
      One example of this kind of pattern being the 'c_start()' function in
      arch/x86/kernel/cpu/proc.c, but also duplicated in various forms on
      other architectures.
      
      Reported-by: syzbot+96cae094d90877641f32@syzkaller.appspotmail.com
      Link: https://syzkaller.appspot.com/bug?extid=96cae094d90877641f32Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Link: https://lore.kernel.org/lkml/c1f4cc16-feea-b83c-82cf-1a1f007b7eb9@I-love.SAKURA.ne.jp/
      Fixes: 596ff4a0 ("cpumask: re-introduce constant-sized cpumask optimizations")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e7304080
  3. 11 Mar, 2023 15 commits
    • Mark Brown's avatar
      Add support for stacked/parallel memories · 7d4ae72e
      Mark Brown authored
      Merge series from Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>:
      
      This patch is in the continuation to the discussions which happened on
      'commit f8950430 ("spi: Stacked/parallel memories bindings")' for
      adding dt-binding support for stacked/parallel memories.
      
      This patch series updated the spi-nor, spi core and the spi drivers
      to add stacked and parallel memories support.
      
      The first patch
      https://lore.kernel.org/all/20230119185342.2093323-1-amit.kumar-mahapatra@amd.com/
      of the previous series got applied to
      https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
      But the rest of the patches in the series did not get applied due to merge
      conflict, so send the remaining patches in the series after rebasing it
      on top of for-next branch.
      ---
      BRANCH: for-next
      
      Changes in v6:
      - Rebased on top of latest v6.3-rc1 and fixed merge conflicts in
        spi-mpc512x-psc.c, sfdp.c, spansion.c files and removed spi-omap-100k.c.
      - Updated spi_dev_check( ) to reject new devices if any one of the
        chipselect is used by another device.
      
      Changes in v5:
      - Rebased the patches on top of v6.3-rc1 and fixed the merge conflicts.
      - Fixed compilation warnings in spi-sh-msiof.c with shmobile_defconfig
      
      Changes in v4:
      - Fixed build error in spi-pl022.c file - reported by Mark.
      - Fixed build error in spi-sn-f-ospi.c file.
      - Added Reviewed-by: Serge Semin <fancer.lancer@gmail.com> tag.
      - Added two more patches to replace spi->chip_select with API calls in
        mpc832x_rdb.c & cs35l41_hda_spi.c files.
      
      Changes in v3:
      - Rebased the patches on top of
        https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
      - Added a patch to convert spi_nor_otp_region_len(nor) &
        spi_nor_otp_n_regions(nor) macros into inline functions
      - Added Reviewed-by & Acked-by tags
      
      Changes in v2:
      - Rebased the patches on top of v6.2-rc1
      - Created separate patch to add get & set APIs for spi->chip_select &
        spi->cs_gpiod, and replaced all spi->chip_select and spi->cs_gpiod
        references with the API calls.
      - Created separate patch to add get & set APIs for nor->params.
      ---
      
      Amit Kumar Mahapatra (15):
        spi: Replace all spi->chip_select and spi->cs_gpiod references with
          function call
        net: Replace all spi->chip_select and spi->cs_gpiod references with
          function call
        iio: imu: Replace all spi->chip_select and spi->cs_gpiod references
          with function call
        mtd: devices: Replace all spi->chip_select and spi->cs_gpiod
          references with function call
        staging: Replace all spi->chip_select and spi->cs_gpiod references
          with function call
        platform/x86: serial-multi-instantiate: Replace all spi->chip_select
          and spi->cs_gpiod references with function call
        powerpc/83xx/mpc832x_rdb: Replace all spi->chip_select references with
          function call
        ALSA: hda: cs35l41: Replace all spi->chip_select references with
          function call
        spi: Add stacked and parallel memories support in SPI core
        mtd: spi-nor: Convert macros with inline functions
        mtd: spi-nor: Add APIs to set/get nor->params
        mtd: spi-nor: Add stacked memories support in spi-nor
        spi: spi-zynqmp-gqspi: Add stacked memories support in GQSPI driver
        mtd: spi-nor: Add parallel memories support in spi-nor
        spi: spi-zynqmp-gqspi: Add parallel memories support in GQSPI driver
      
       arch/powerpc/platforms/83xx/mpc832x_rdb.c     |   2 +-
       drivers/iio/imu/adis16400.c                   |   2 +-
       drivers/mtd/devices/mtd_dataflash.c           |   2 +-
       drivers/mtd/spi-nor/atmel.c                   |  17 +-
       drivers/mtd/spi-nor/core.c                    | 665 +++++++++++++++---
       drivers/mtd/spi-nor/core.h                    |   8 +
       drivers/mtd/spi-nor/debugfs.c                 |   4 +-
       drivers/mtd/spi-nor/gigadevice.c              |   4 +-
       drivers/mtd/spi-nor/issi.c                    |  11 +-
       drivers/mtd/spi-nor/macronix.c                |   6 +-
       drivers/mtd/spi-nor/micron-st.c               |  39 +-
       drivers/mtd/spi-nor/otp.c                     |  48 +-
       drivers/mtd/spi-nor/sfdp.c                    |  29 +-
       drivers/mtd/spi-nor/spansion.c                |  50 +-
       drivers/mtd/spi-nor/sst.c                     |   7 +-
       drivers/mtd/spi-nor/swp.c                     |  22 +-
       drivers/mtd/spi-nor/winbond.c                 |  10 +-
       drivers/mtd/spi-nor/xilinx.c                  |  18 +-
       drivers/net/ethernet/adi/adin1110.c           |   2 +-
       drivers/net/ethernet/asix/ax88796c_main.c     |   2 +-
       drivers/net/ethernet/davicom/dm9051.c         |   2 +-
       drivers/net/ethernet/qualcomm/qca_debug.c     |   2 +-
       drivers/net/ieee802154/ca8210.c               |   2 +-
       drivers/net/wan/slic_ds26522.c                |   2 +-
       .../net/wireless/marvell/libertas/if_spi.c    |   2 +-
       drivers/net/wireless/silabs/wfx/bus_spi.c     |   2 +-
       drivers/net/wireless/st/cw1200/cw1200_spi.c   |   2 +-
       .../platform/x86/serial-multi-instantiate.c   |   3 +-
       drivers/spi/spi-altera-core.c                 |   2 +-
       drivers/spi/spi-amd.c                         |   4 +-
       drivers/spi/spi-ar934x.c                      |   2 +-
       drivers/spi/spi-armada-3700.c                 |   4 +-
       drivers/spi/spi-aspeed-smc.c                  |  13 +-
       drivers/spi/spi-at91-usart.c                  |   2 +-
       drivers/spi/spi-ath79.c                       |   4 +-
       drivers/spi/spi-atmel.c                       |  26 +-
       drivers/spi/spi-au1550.c                      |   4 +-
       drivers/spi/spi-axi-spi-engine.c              |   2 +-
       drivers/spi/spi-bcm-qspi.c                    |  10 +-
       drivers/spi/spi-bcm2835.c                     |  19 +-
       drivers/spi/spi-bcm2835aux.c                  |   4 +-
       drivers/spi/spi-bcm63xx-hsspi.c               |  30 +-
       drivers/spi/spi-bcm63xx.c                     |   2 +-
       drivers/spi/spi-bcmbca-hsspi.c                |  30 +-
       drivers/spi/spi-cadence-quadspi.c             |   5 +-
       drivers/spi/spi-cadence-xspi.c                |   4 +-
       drivers/spi/spi-cadence.c                     |   4 +-
       drivers/spi/spi-cavium.c                      |   8 +-
       drivers/spi/spi-coldfire-qspi.c               |   8 +-
       drivers/spi/spi-davinci.c                     |  18 +-
       drivers/spi/spi-dln2.c                        |   6 +-
       drivers/spi/spi-dw-core.c                     |   2 +-
       drivers/spi/spi-dw-mmio.c                     |   4 +-
       drivers/spi/spi-falcon.c                      |   2 +-
       drivers/spi/spi-fsi.c                         |   2 +-
       drivers/spi/spi-fsl-dspi.c                    |  16 +-
       drivers/spi/spi-fsl-espi.c                    |   6 +-
       drivers/spi/spi-fsl-lpspi.c                   |   2 +-
       drivers/spi/spi-fsl-qspi.c                    |   6 +-
       drivers/spi/spi-fsl-spi.c                     |   2 +-
       drivers/spi/spi-geni-qcom.c                   |   6 +-
       drivers/spi/spi-gpio.c                        |   4 +-
       drivers/spi/spi-gxp.c                         |   4 +-
       drivers/spi/spi-hisi-sfc-v3xx.c               |   2 +-
       drivers/spi/spi-img-spfi.c                    |  14 +-
       drivers/spi/spi-imx.c                         |  30 +-
       drivers/spi/spi-ingenic.c                     |   4 +-
       drivers/spi/spi-intel.c                       |   2 +-
       drivers/spi/spi-jcore.c                       |   4 +-
       drivers/spi/spi-lantiq-ssc.c                  |   6 +-
       drivers/spi/spi-mem.c                         |   4 +-
       drivers/spi/spi-meson-spicc.c                 |   2 +-
       drivers/spi/spi-microchip-core.c              |   6 +-
       drivers/spi/spi-mpc512x-psc.c                 |   8 +-
       drivers/spi/spi-mpc52xx.c                     |   2 +-
       drivers/spi/spi-mt65xx.c                      |   6 +-
       drivers/spi/spi-mt7621.c                      |   2 +-
       drivers/spi/spi-mux.c                         |   8 +-
       drivers/spi/spi-mxic.c                        |  10 +-
       drivers/spi/spi-mxs.c                         |   2 +-
       drivers/spi/spi-npcm-fiu.c                    |  20 +-
       drivers/spi/spi-nxp-fspi.c                    |  10 +-
       drivers/spi/spi-omap-uwire.c                  |   8 +-
       drivers/spi/spi-omap2-mcspi.c                 |  24 +-
       drivers/spi/spi-orion.c                       |   4 +-
       drivers/spi/spi-pci1xxxx.c                    |   4 +-
       drivers/spi/spi-pic32-sqi.c                   |   2 +-
       drivers/spi/spi-pic32.c                       |   4 +-
       drivers/spi/spi-pl022.c                       |   4 +-
       drivers/spi/spi-pxa2xx.c                      |   6 +-
       drivers/spi/spi-qcom-qspi.c                   |   2 +-
       drivers/spi/spi-rb4xx.c                       |   2 +-
       drivers/spi/spi-rockchip-sfc.c                |   2 +-
       drivers/spi/spi-rockchip.c                    |  26 +-
       drivers/spi/spi-rspi.c                        |  10 +-
       drivers/spi/spi-s3c64xx.c                     |   2 +-
       drivers/spi/spi-sc18is602.c                   |   4 +-
       drivers/spi/spi-sh-msiof.c                    |   6 +-
       drivers/spi/spi-sh-sci.c                      |   2 +-
       drivers/spi/spi-sifive.c                      |   6 +-
       drivers/spi/spi-sn-f-ospi.c                   |   2 +-
       drivers/spi/spi-st-ssc4.c                     |   2 +-
       drivers/spi/spi-stm32-qspi.c                  |  12 +-
       drivers/spi/spi-sun4i.c                       |   2 +-
       drivers/spi/spi-sun6i.c                       |   2 +-
       drivers/spi/spi-synquacer.c                   |   6 +-
       drivers/spi/spi-tegra114.c                    |  28 +-
       drivers/spi/spi-tegra20-sflash.c              |   2 +-
       drivers/spi/spi-tegra20-slink.c               |   6 +-
       drivers/spi/spi-tegra210-quad.c               |   8 +-
       drivers/spi/spi-ti-qspi.c                     |  16 +-
       drivers/spi/spi-topcliff-pch.c                |   4 +-
       drivers/spi/spi-wpcm-fiu.c                    |  12 +-
       drivers/spi/spi-xcomm.c                       |   2 +-
       drivers/spi/spi-xilinx.c                      |   6 +-
       drivers/spi/spi-xlp.c                         |   4 +-
       drivers/spi/spi-zynq-qspi.c                   |   2 +-
       drivers/spi/spi-zynqmp-gqspi.c                |  58 +-
       drivers/spi/spi.c                             | 225 ++++--
       drivers/spi/spidev.c                          |   6 +-
       drivers/staging/fbtft/fbtft-core.c            |   2 +-
       drivers/staging/greybus/spilib.c              |   2 +-
       include/linux/mtd/spi-nor.h                   |  18 +-
       include/linux/spi/spi.h                       |  34 +-
       include/trace/events/spi.h                    |  10 +-
       sound/pci/hda/cs35l41_hda_spi.c               |   2 +-
       126 files changed, 1350 insertions(+), 615 deletions(-)
      
      --
      2.25.1
      7d4ae72e
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 81ff8554
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "This marks the end of a transition to let I2C have the same probe
        semantics as other subsystems. Uwe took care that no drivers in the
        current tree nor in -next use the deprecated .probe call. So, it is a
        good time to switch to the new, standard semantics now.
      
        There is also a regression fix:
      
         - regression fix for the notifier handling of the I2C core
      
         - final coversions of drivers away from deprecated .probe
      
         - make .probe_new the standard probe and convert I2C core to use it
      
      * tag 'i2c-for-6.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: dev: Fix bus callback return values
        i2c: Convert drivers to new .probe() callback
        i2c: mux: Convert all drivers to new .probe() callback
        i2c: Switch .probe() to not take an id parameter
        media: i2c: ov2685: convert to i2c's .probe_new()
        media: i2c: ov5695: convert to i2c's .probe_new()
        w1: ds2482: Convert to i2c's .probe_new()
        serial: sc16is7xx: Convert to i2c's .probe_new()
        mtd: maps: pismo: Convert to i2c's .probe_new()
        misc: ad525x_dpot-i2c: Convert to i2c's .probe_new()
      81ff8554
    • Andi Shyti's avatar
      MAINTAINERS: update Andi's e-mail to @kernel.org · 5d1f9ac1
      Andi Shyti authored
      Use the kernel.org e-mail for the maintainer entry
      Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
      Link: https://lore.kernel.org/r/20230311170516.178913-1-andi.shyti@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      5d1f9ac1
    • Richard Weinberger's avatar
      ubi: block: Fix missing blk_mq_end_request · e25c54d1
      Richard Weinberger authored
      Switching to BLK_MQ_F_BLOCKING wrongly removed the call to
      blk_mq_end_request(). Add it back to have our IOs finished
      
      Fixes: 91cc8fbc ("ubi: block: set BLK_MQ_F_BLOCKING")
      Analyzed-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatarDaniel Palmer <daniel@0x0f.com>
      Link: https://lore.kernel.org/linux-mtd/CAHk-=wi29bbBNh3RqJKu3PxzpjDN5D5K17gEVtXrb7-6bfrnMQ@mail.gmail.com/Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Tested-by: default avatarDaniel Palmer <daniel@0x0f.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e25c54d1
    • Amit Kumar Mahapatra's avatar
      ALSA: hda: cs35l41: Replace all spi->chip_select references with function call · 06b5e53c
      Amit Kumar Mahapatra authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Link: https://lore.kernel.org/r/20230310173217.3429788-9-amit.kumar-mahapatra@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      06b5e53c
    • Amit Kumar Mahapatra's avatar
      powerpc/83xx/mpc832x_rdb: Replace all spi->chip_select references with function call · 3aba06a9
      Amit Kumar Mahapatra authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Link: https://lore.kernel.org/r/20230310173217.3429788-8-amit.kumar-mahapatra@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3aba06a9
    • Amit Kumar Mahapatra via Alsa-devel's avatar
      platform/x86: serial-multi-instantiate: Replace all spi->chip_select and... · e20451f4
      Amit Kumar Mahapatra via Alsa-devel authored
      platform/x86: serial-multi-instantiate: Replace all spi->chip_select and spi->cs_gpiod references with function call
      
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Link: https://lore.kernel.org/r/167847071718.26.8731852393143680608@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e20451f4
    • Amit Kumar Mahapatra's avatar
      staging: Replace all spi->chip_select and spi->cs_gpiod references with function call · caa9d347
      Amit Kumar Mahapatra authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Link: https://lore.kernel.org/r/20230310173217.3429788-6-amit.kumar-mahapatra@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      caa9d347
    • Amit Kumar Mahapatra via Alsa-devel's avatar
      mtd: devices: Replace all spi->chip_select and spi->cs_gpiod references with function call · 0817bcef
      Amit Kumar Mahapatra via Alsa-devel authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Link: https://lore.kernel.org/r/167847071245.26.7777775616228465939@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      0817bcef
    • Amit Kumar Mahapatra's avatar
      iio: imu: Replace all spi->chip_select and spi->cs_gpiod references with function call · 0183f81f
      Amit Kumar Mahapatra authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Acked-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Link: https://lore.kernel.org/r/20230310173217.3429788-4-amit.kumar-mahapatra@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      0183f81f
    • Amit Kumar Mahapatra's avatar
      net: Replace all spi->chip_select and spi->cs_gpiod references with function call · 25fd0550
      Amit Kumar Mahapatra authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Link: https://lore.kernel.org/r/20230310173217.3429788-3-amit.kumar-mahapatra@amd.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      25fd0550
    • Amit Kumar Mahapatra via Alsa-devel's avatar
      spi: Replace all spi->chip_select and spi->cs_gpiod references with function call · 9e264f3f
      Amit Kumar Mahapatra via Alsa-devel authored
      Supporting multi-cs in spi drivers would require the chip_select & cs_gpiod
      members of struct spi_device to be an array. But changing the type of these
      members to array would break the spi driver functionality. To make the
      transition smoother introduced four new APIs to get/set the
      spi->chip_select & spi->cs_gpiod and replaced all spi->chip_select and
      spi->cs_gpiod references with get or set API calls.
      While adding multi-cs support in further patches the chip_select & cs_gpiod
      members of the spi_device structure would be converted to arrays & the
      "idx" parameter of the APIs would be used as array index i.e.,
      spi->chip_select[idx] & spi->cs_gpiod[idx] respectively.
      Signed-off-by: default avatarAmit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
      Acked-by: Heiko Stuebner <heiko@sntech.de> # Rockchip drivers
      Reviewed-by: default avatarMichal Simek <michal.simek@amd.com>
      Reviewed-by: Cédric Le Goater <clg@kaod.org> # Aspeed driver
      Reviewed-by: Dhruva Gole <d-gole@ti.com> # SPI Cadence QSPI
      Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> # spi-stm32-qspi
      Acked-by: William Zhang <william.zhang@broadcom.com> # bcm63xx-hsspi driver
      Reviewed-by: Serge Semin <fancer.lancer@gmail.com> # DW SSI part
      Link: https://lore.kernel.org/r/167847070432.26.15076794204368669839@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      9e264f3f
    • Rob Herring's avatar
      spi: omap2-mcspi: Use of_property_read_bool() for boolean properties · 03adaa40
      Rob Herring authored
      It is preferred to use typed property access functions (i.e.
      of_property_read_<type> functions) rather than low-level
      of_get_property/of_find_property functions for reading properties.
      Convert reading boolean properties to to of_property_read_bool().
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20230310144736.1547110-1-robh@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      03adaa40
    • Arnd Bergmann's avatar
      spi: fsi: restore CONFIG_FSI dependency · bae4ae83
      Arnd Bergmann authored
      The assumption that the build dependency was not necessary turned
      out to be wrong, as building SPI_FSI without FSI results in a link
      failure:
      
      aarch64-linux-ld: drivers/spi/spi-fsi.o: in function `fsi_spi_check_status':
      spi-fsi.c:(.text+0x54): undefined reference to `fsi_device_read'
      aarch64-linux-ld: drivers/spi/spi-fsi.o: in function `fsi_spi_read_reg':
      spi-fsi.c:(.text+0x120): undefined reference to `fsi_device_write'
      aarch64-linux-ld: spi-fsi.c:(.text+0x170): undefined reference to `fsi_device_read'
      
      Fixes: f916c708 ("spi: fsi: Make available for build test")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/r/20230310140605.569363-1-arnd@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      bae4ae83
    • Zhihao Cheng's avatar
      ext4: zero i_disksize when initializing the bootloader inode · f5361da1
      Zhihao Cheng authored
      If the boot loader inode has never been used before, the
      EXT4_IOC_SWAP_BOOT inode will initialize it, including setting the
      i_size to 0.  However, if the "never before used" boot loader has a
      non-zero i_size, then i_disksize will be non-zero, and the
      inconsistency between i_size and i_disksize can trigger a kernel
      warning:
      
       WARNING: CPU: 0 PID: 2580 at fs/ext4/file.c:319
       CPU: 0 PID: 2580 Comm: bb Not tainted 6.3.0-rc1-00004-g703695902cfa
       RIP: 0010:ext4_file_write_iter+0xbc7/0xd10
       Call Trace:
        vfs_write+0x3b1/0x5c0
        ksys_write+0x77/0x160
        __x64_sys_write+0x22/0x30
        do_syscall_64+0x39/0x80
      
      Reproducer:
       1. create corrupted image and mount it:
             mke2fs -t ext4 /tmp/foo.img 200
             debugfs -wR "sif <5> size 25700" /tmp/foo.img
             mount -t ext4 /tmp/foo.img /mnt
             cd /mnt
             echo 123 > file
       2. Run the reproducer program:
             posix_memalign(&buf, 1024, 1024)
             fd = open("file", O_RDWR | O_DIRECT);
             ioctl(fd, EXT4_IOC_SWAP_BOOT);
             write(fd, buf, 1024);
      
      Fix this by setting i_disksize as well as i_size to zero when
      initiaizing the boot loader inode.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=217159
      Cc: stable@kernel.org
      Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
      Link: https://lore.kernel.org/r/20230308032643.641113-1-chengzhihao1@huawei.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      f5361da1