Linux kernel source tree
Go to file
Arnd Bergmann 002ec15747 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmKmORcACgkQAEG6vDF+
 4pgQkQ//Q7GnKFQdxm5r1fpphkFFPC3WKnQk2EU/+AHXXyLdxpg88CHKcWc1k+07
 PBwI0gOSLwVERS21m9zRrXUxA7gz6kdBKs6ycMpRt8LNXUYbV3Yxit8F7orKW6oK
 oOkCY6dC44Krg7ZXYaWsduoTECgvivoef6JduQru1/1PUBa6Cu5PrviF9sutYuB4
 qnHxoTykp2f0jQ9/9KOAcIDHCJGPccV14OK0AAXDcWBZgswnajoZk663Je1g+fxn
 0+b7B27DpmtArtTbcyxIgOUHSWP22HoLEoow4JELUXebtQ1CGcxb9I+FBAFzdyPq
 hyV/kchkr2hn/KaCzr7aQCDzmbleVxtr+6Ebe6ysokU+g2R/wvexpCVnogu3Pt4I
 D9bQ+uX3iLHFTbXj8j0w6pNE4+/FgytVKI2VOv+OM7regDXVsOKPAdIha4n6UoU1
 6gaeTjW0ovlylWFFx4etnVJmPh/pF6Ph38hyPlkro/JaI8wylXBSkdkDBPUz5AOc
 96Gg1QzTCETGHgKo0If1o+BnByxGOuNoXRFoC82TAxrHdzziLSNpRPj0vcvPm1hZ
 Q8e4eKE83bw1xZLFObJQJUf0xAy3cSEdASZfMS0z1KCz5uenih+FeOdJJ3VJunES
 1fpfPSA0Px5OUcCzT2J/JJ31I/cnbKrfTJhwmP7An8Iu2AZb9Oc=
 =NOFn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmKoYAMACgkQmmx57+YA
 GNl+/A//YPMaYMe7YeJaFd784PJl/h2wM+gl6/YP64aal2weT3XJmsuv+woYf4mN
 3cJdqBkYVD43RxOy6tzwZ8zV6G1yaD5EVCpZT9NjZZOClQABeIYeE6lo66L6f3FO
 SD+a/i+wfibiGUq3urHhOLCNKCP/62GV1OhC+S5A1Fx1GQCuohd5xtDA+3TXn66Q
 NPNMuZnOcT+XqujWX0fMri4CKg96oTJbu5+kgtF0PilP4Tr17DEITiNkBRfRV3ll
 mvcV1Og3w44wuziJ6Qdaru+aKyDoxP34GCIjR9khJGp9sVzmul4pakYmt8yTzhhc
 7crsMEpSh4gp80vLM9i3Xw9ZGB3af5/+s4pR4T2AqLxhs1sdqcYG5mLoSWO+nsld
 V/O6Cugmkwnyn3Nw44ohpSnrV+0MnVMO+UmsYGZPZ7zz0GoAqGW4OnXyByC+XD25
 xnBpMyThwk3OdIVq9tViyOMUaQVgg3km2HE6TsqmEn+bHF1dl1FwgwrP/lJrkCVQ
 pqAwl5A25UAOhajOwqvzu5MFQohzzFMKRLQR5fwU0qT7MzPS9ZTNUWXHv+rUapzN
 dhtZ/4UquFx3HDGH9Gm4mHGQ8mi0LmoUnRBNwiJnnDhaC04ipEVcUBq4FsLmwET5
 9sjmXTsg3sLAdLw0m6N9+ZQjxNccOC1jvKGFf2eaqC4sdJV4Nzo=
 =Y1Nw
 -----END PGP SIGNATURE-----

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: Arnd Bergmann <arnd@arndb.de>
2022-06-14 12:16:35 +02:00
arch i.MX fixes for 5.19: 2022-06-14 12:15:44 +02:00
block block: remove bioset_init_from_src 2022-06-08 14:04:14 -04:00
certs certs: Convert spaces in certs/Makefile to a tab 2022-06-10 11:42:02 -07:00
crypto This update includes the following changes: 2022-05-27 18:06:49 -07:00
Documentation Kbuild fixes for v5.19 2022-06-12 11:10:07 -07:00
drivers Arm SCMI firmware driver fixes for v5.19 2022-06-14 12:16:35 +02:00
fs 3 smb3 reconnect fixes 2022-06-12 11:05:44 -07:00
include Arm SCMI firmware driver fixes for v5.19 2022-06-14 12:16:35 +02:00
init gcc-12: disable '-Warray-bounds' universally for now 2022-06-09 10:11:12 -07:00
ipc These changes update the ipc sysctls so that they are fundamentally 2022-06-03 15:54:57 -07:00
kernel Workqueue fixes for v5.19-rc1 2022-06-12 11:16:00 -07:00
lib Random number generator fixes for Linux 5.19-rc2. 2022-06-12 10:33:38 -07:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm mm/huge_memory: Fix xarray node memory leak 2022-06-09 16:24:25 -04:00
net Notable changes: 2022-06-10 17:28:43 -07:00
samples drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
scripts Kbuild fixes for v5.19 2022-06-12 11:10:07 -07:00
security KEYS: trusted: tpm2: Fix migratable logic 2022-06-08 14:12:13 +03:00
sound sound fixes for 5.19-rc2 2022-06-10 10:20:57 -07:00
tools Random number generator fixes for Linux 5.19-rc2. 2022-06-12 10:33:38 -07:00
usr Not a lot of material this cycle. Many singleton patches against various 2022-05-27 11:22:03 -07:00
virt * Fix syzkaller NULL pointer dereference 2022-06-08 09:16:31 -07:00
.clang-format clang-format: Fix space after for_each macros 2022-05-20 19:27:16 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore kbuild: split the second line of *.mod into *.usyms 2022-05-08 03:16:59 +09:00
.mailmap Hot fixes for 5.19-rc1. 2022-06-05 17:05:38 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: replace a Microchip AT91 maintainer 2022-02-09 11:30:01 +01:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Notable changes: 2022-06-10 17:28:43 -07:00
Makefile Linux 5.19-rc2 2022-06-12 16:11:37 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.