Commit Graph

1267899 Commits

Author SHA1 Message Date
Gregory Detal
6963c508fd mptcp: only allow set existing scheduler for net.mptcp.scheduler
The current behavior is to accept any strings as inputs, this results in
an inconsistent result where an unexisting scheduler can be set:

  # sysctl -w net.mptcp.scheduler=notdefault
  net.mptcp.scheduler = notdefault

This patch changes this behavior by checking for existing scheduler
before accepting the input.

Fixes: e3b2870b6d ("mptcp: add a new sysctl scheduler")
Cc: stable@vger.kernel.org
Signed-off-by: Gregory Detal <gregory.detal@gmail.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Tested-by: Geliang Tang <geliang@kernel.org>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240506-upstream-net-20240506-mptcp-sched-exist-v1-1-2ed1529e521e@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-07 17:23:35 -07:00
Tetsuo Handa
19e35f2475 nfc: nci: Fix kcov check in nci_rx_work()
Commit 7e8cdc9714 ("nfc: Add KCOV annotations") added
kcov_remote_start_common()/kcov_remote_stop() pair into nci_rx_work(),
with an assumption that kcov_remote_stop() is called upon continue of
the for loop. But commit d24b03535e ("nfc: nci: Fix uninit-value in
nci_dev_up and nci_ntf_packet") forgot to call kcov_remote_stop() before
break of the for loop.

Reported-by: syzbot <syzbot+0438378d6f157baae1a2@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=0438378d6f157baae1a2
Fixes: d24b03535e ("nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet")
Suggested-by: Andrey Konovalov <andreyknvl@gmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/6d10f829-5a0c-405a-b39a-d7266f3a1a0b@I-love.SAKURA.ne.jp
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-07 16:40:06 -07:00
Paolo Bonzini
0a9c28bec2 KVM: s390: Fix for 6.9
Fix wild read on capability check.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+SKTgaM0CPnbq/vKEXu8gLWmHHwFAmY55psACgkQEXu8gLWm
 HHxZBhAArM+cGB3ObHJQ80OagFsrvcC95wbdFpOLpLEryp+YIA49U6/VzFUc9HpM
 BoGtpwPDVQzO3KnAIQqqa467+kCmupj7hUvZEdpkRHacLXKgnW7Phdy8e2sXm1oj
 npO5xHHe7x3vEGAR0PeRbmeuOY84OpAlj1rOsoSf46j/r0UkdiO8lxXwN2q79i7O
 OSFJyN4/S8vaFIBYOAuAIIF3pF0+9BkKoqpaeMnGtvBjCmdTBcAV/5ymNMbonNtC
 BetGSirUg/zuaD9xKUqbyWxyr/2mfXMAmVZTG10mLXdSABoAk8JOyvhFqWDOhxWL
 fH6fK9EIEqx5xlAy/YCxz9T7XRSXqDEveIb/qZ6+2jw/kS7Y01rpTMo5BSn88JSg
 7VwmeR4Ikc6QVSkx6wCZivvnC+CMBDqzrv1eKtbWGaxaD6JwJFTUqB1O3DimY5KY
 T+g96VTSKyBvHwhXZPEGZJDJG/z7Zbchm2hhtUADFucNq74vH1e+i+4hzwa+n86+
 PUnEV6Hl+1ESNS4QCrBx1/hVA+TJ2+f5SD7JfL3rBbRz8sTOZvAsAytt+K3f6IeR
 HVnpMNbVWdrpaLdnIaPrT7KAZNzKhAyt1O8W3bZ57tNhN5V49pk/jE09ZLYpZD1x
 qVB5fIa5yaC7MEAmpnKGkoFPtVMOv038aeRJZPr2dcjqgp4wahM=
 =PKFv
 -----END PGP SIGNATURE-----

Merge tag 'kvm-s390-master-6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

KVM: s390: Fix for 6.9

Fix wild read on capability check.
2024-05-07 13:01:39 -04:00
Douglas Anderson
6897204ea3 drm/connector: Add \n to message about demoting connector force-probes
The debug print clearly lacks a \n at the end. Add it.

Fixes: 8f86c82aba ("drm/connector: demote connector force-probes for non-master clients")
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240502153234.1.I2052f01c8d209d9ae9c300b87c6e4f60bd3cc99e@changeid
2024-05-07 09:17:07 -07:00
Bartosz Golaszewski
a86d276930 gpiolib: fix the speed of descriptor label setting with SRCU
Commit 1f2bcb8c8c ("gpio: protect the descriptor label with SRCU")
caused a massive drop in performance of requesting GPIO lines due to the
call to synchronize_srcu() on each label change. Rework the code to not
wait until all read-only users are done with reading the label but
instead atomically replace the label pointer and schedule its release
after all read-only critical sections are done.

To that end wrap the descriptor label in a struct that also contains the
rcu_head struct required for deferring tasks using call_srcu() and stop
using kstrdup_const() as we're required to allocate memory anyway. Just
allocate enough for the label string and rcu_head in one go.

Reported-by: Neil Armstrong <neil.armstrong@linaro.org>
Closes: https://lore.kernel.org/linux-gpio/CAMRc=Mfig2oooDQYTqo23W3PXSdzhVO4p=G4+P8y1ppBOrkrJQ@mail.gmail.com/
Fixes: 1f2bcb8c8c ("gpio: protect the descriptor label with SRCU")
Suggested-by: "Paul E. McKenney" <paulmck@kernel.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Acked-by: "Paul E. McKenney" <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20240507121346.16969-1-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-05-07 18:04:23 +02:00
Sagi Grimberg
34cfb09cdc nvmet: make nvmet_wq unbound
When deleting many controllers one-by-one, it takes a very
long time as these work elements may serialize as they are
scheduled on the executing cpu instead of spreading. In general
nvmet_wq can definitely be used for long standing work elements
so its better to make it unbound regardless.

Signed-off-by: Sagi Grimberg <sagi.grimberg@vastdata.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-05-07 08:07:05 -07:00
Kent Overstreet
6e297a73bc bcachefs: Add missing sched_annotate_sleep() in bch2_journal_flush_seq_async()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-07 11:02:37 -04:00
Kent Overstreet
54541c1f78 bcachefs: Fix race in bch2_write_super()
bch2_write_super() was looping over online devices multiple times -
dropping and retaking io_ref each time.

This meant it could race with device removal; it could increment the
sequence number on a device but fail to write it - and then if the
device was re-added, it would get confused the next time around thinking
a superblock write was silently dropped.

Fix this by taking io_ref once, and stashing pointers to online devices
in a darray.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-07 11:02:36 -04:00
Maurizio Lombardi
4b9a89be21 nvmet-auth: return the error code to the nvmet_auth_ctrl_hash() callers
If nvmet_auth_ctrl_hash() fails, return the error code to its callers

Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2024-05-07 07:57:38 -07:00
Sean Anderson
d5887dc6b6 nvme-pci: Add quirk for broken MSIs
Sandisk SN530 NVMe drives have broken MSIs. On systems without MSI-X
support, all commands time out resulting in the following message:

nvme nvme0: I/O tag 12 (100c) QID 0 timeout, completion polled

These timeouts cause the boot to take an excessively-long time (over 20
minutes) while the initial command queue is flushed.

Address this by adding a quirk for drives with buggy MSIs. The lspci
output for this device (recorded on a system with MSI-X support) is:

02:00.0 Non-Volatile memory controller: Sandisk Corp Device 5008 (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Sandisk Corp Device 5008
	Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
	Memory at f7e00000 (64-bit, non-prefetchable) [size=16K]
	Memory at f7e04000 (64-bit, non-prefetchable) [size=256]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable- Count=1/32 Maskable- 64bit+
	Capabilities: [b0] MSI-X: Enable+ Count=17 Masked-
	Capabilities: [c0] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [150] Device Serial Number 00-00-00-00-00-00-00-00
	Capabilities: [1b8] Latency Tolerance Reporting
	Capabilities: [300] Secondary PCI Express
	Capabilities: [900] L1 PM Substates
	Kernel driver in use: nvme
	Kernel modules: nvme

Cc: <stable@vger.kernel.org>
Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2024-05-07 07:55:14 -07:00
Karthikeyan Ramasubramanian
43b26bdd2e
drm/i915/bios: Fix parsing backlight BDB data
Starting BDB version 239, hdr_dpcd_refresh_timeout is introduced to
backlight BDB data. Commit 700034566d ("drm/i915/bios: Define more BDB
contents") updated the backlight BDB data accordingly. This broke the
parsing of backlight BDB data in VBT for versions 236 - 238 (both
inclusive) and hence the backlight controls are not responding on units
with the concerned BDB version.

backlight_control information has been present in backlight BDB data
from at least BDB version 191 onwards, if not before. Hence this patch
extracts the backlight_control information for BDB version 191 or newer.
Tested on Chromebooks using Jasperlake SoC (reports bdb->version = 236).
Tested on Chromebooks using Raptorlake SoC (reports bdb->version = 251).

v2: removed checking the block size of the backlight BDB data
    [vsyrjala: this is completely safe thanks to commit e163cfb4c9
     ("drm/i915/bios: Make copies of VBT data blocks")]

Fixes: 700034566d ("drm/i915/bios: Define more BDB contents")
Cc: stable@vger.kernel.org
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@chromium.org>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240221180622.v2.1.I0690aa3e96a83a43b3fc33f50395d334b2981826@changeid
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
(cherry picked from commit c286f6a973)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-05-07 09:42:27 -04:00
Arnd Bergmann
a3116c8881 RISC-V SoC Kconfig Updates for v6.10
A few different bits of SoC-related Kconfig work. The first part of
 this is shared with the DT updates - the modification of all SOC_CANAAN
 users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
 from the k230 that is able to be used in a "common" kernel.
 
 The other thing here is the removal of most of the SOC_VENDOR options,
 with their ARCH_VENDOR equivalents that've been waiting in the wings for
 1 year+ now made visible. Due a lapse on my part when originally adding
 the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
 _POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
 RISC-V stuff from Microchip soonTM.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZjUIHwAKCRB4tDGHoIJi
 0r8RAQD+B5rJde/sQuQlmkJGrmZfyE/6/I1ZFxv0/xHhRPNWRAD/RFTTDthL/7c4
 frMGl/nWSD3fvGmXrQ7Dp6wc1APIdQI=
 =BWHh
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY57kAACgkQYKtH/8kJ
 Uie0Sg/8D8tZVOtBrpVJG/P5F7W1QdcC336GHBMQCho38C0/4AK5ltvdyxmSxmCl
 k84qaLdYNrGIvJ5o6MRmSAZyzT3y3jLYVA8C2Zsrp+Do8KkvvJGl219pUvp5A0J3
 eoMApJ34wx6dQM9LfpLcvU9C3Z767KeiiRm0h5CTV0IUfJnZB/7IQgwSajEGLOr/
 CHtFZpbYK6VgCDgVhbacSY8495jJrIU4i5RDlILst5K64XrmS2UU2oen2L3X/u8h
 xi5nQ//3qCiIfp5UqvBY12OYF8lVzB+F/Uo9vDCpeF9HFiIE69qMgYJiSviCPbwH
 T54zue+oBPGfL57HQoMTYQGUG4GvlnW7JR841GsIlPjrs54uw2kXDZB586n3tqzN
 esAQCc/sNnCuUX9TYKKBzkIrmQ1oTPRdGO61r+lSgxjYQ/ed++eh6KStlbPmttVo
 piEaxSpLS7TOZcVOyXHFrWK6OR4yB6MD6ZvOGJlJKJZSdfMNTlGcoymiJ0j7hVQb
 QJSr3LaIfQMP+Uf5ZWWlNZIxvwxQKER8v6MbyH3vGAVYa+DnDBzaj9Fh364thJnt
 Uybpz7SDQMIugnB+uSe+D1o65XfTEKOn/OHXYEQVYyoWs63QfTE9012+Q4KqBFBQ
 5ylIkvM9r3xMBkzZT3EU8lgr5gx9r5QQuX9czJ7INSBxo4SmuKE=
 =QGOJ
 -----END PGP SIGNATURE-----

Merge tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC Kconfig Updates for v6.10

A few different bits of SoC-related Kconfig work. The first part of
this is shared with the DT updates - the modification of all SOC_CANAAN
users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
from the k230 that is able to be used in a "common" kernel.

The other thing here is the removal of most of the SOC_VENDOR options,
with their ARCH_VENDOR equivalents that've been waiting in the wings for
1 year+ now made visible. Due a lapse on my part when originally adding
the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
_POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
RISC-V stuff from Microchip soonTM.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: config: enable ARCH_CANAAN in defconfig
  RISC-V: drop SOC_VIRT for ARCH_VIRT
  RISC-V: drop SOC_SIFIVE for ARCH_SIFIVE
  RISC-V: drop SOC_MICROCHIP_POLARFIRE for ARCH_MICROCHIP
  RISC-V: Drop unused SOC_CANAAN
  reset: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  pinctrl: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  clk: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210
  riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210

Link: https://lore.kernel.org/r/20240503-mardi-underling-3d81a9f97329@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 11:02:56 +02:00
Arnd Bergmann
b633c162e0 Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmY0oVUACgkQd9zb2sjI
 SdFiDBAAkHp3KyvVOwiaaSESJiDE2DcVibEUm8HZQv7JW9TDRBJ7HYB7Gqmj8mu7
 WEUQLxsizivVaqb6A+Gthqa1evsCNVqTTYgfZAqlUctZ1IdO4E3Fc4sTWMiAiIP+
 p5qVkd05DBIXl0pHIwSNtv+2GfVljodpEZHsgU1WgM56UTc4DgnbQns/8nMW9JE9
 DcfVsRv/4EKB4VRAjWH5E3U/HmzEVdlVSfA7wcD64szWyOkYzfxQRmBy7z3aRpWl
 ZPlAF4qdspj7xDD76vod24BR+RqR9dAXd6HRkBaau/V6vwMGWIOXnJhJ8NKHq48x
 4fAjaufFVyQ8d/xdy9aVQ1wq0ChFrcDoQwkLV65uJsfZ2QgDAXpvhH6tp/flM8Wm
 CgkiuExPz3uh70h0lfn8F6F3FVbvXcih243kjpKXPmSMSUs9mTdLE2ONI1fWSX8U
 8wATaBrjPgUgxAfqw94hTKApR8z+OkVs4r+mASs9L2hKT7T5DSib0w+SpdSUaaTD
 J5IrzGhhyQ3s4CW0VwNRNfESNzqHpnAyn9escRpr2T0pxlfEc3Piq66S4dq8Ef22
 dDdx4IGPVZuizti8Ibwx6eG/+FjJfYVHaHPvbjSZNDbFPmmAnVj1EPSJ5+TM552l
 iuld4JiYI8LZ+e/1psXq9ZIbTwnR2M8wDhK6ngq81hiBIeElpRM=
 =uDQU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56ysACgkQYKtH/8kJ
 UieEpxAA0Aw4O7uVN8PFpoNSFn6r69eAPY5+B3Kv61VO+mhXcipqL/XY+c23dCTq
 2EUdz2exIWmJD+fYLwcH3esbNn0+swMbe74C81hyemfhSlD8ZnbN8u/TVp1RWydS
 ivJhWJzj4h3jJKcxPbL7p6WJBRktLduVFV7dbxWfch3svnHW6tA+/k+yfM43OZm3
 gqZdKyyiu0xuyNJYU0u0Su8G0Gprx3v6tTwIO1duBTatf0nFKLTDloV5gPH6SBw/
 WYsR9eZBxap+D3tCveNCmai4UsEYJP4KnKqT4PzQF+aPe7L9XIAzVnfcGadzvA4u
 haB5LpcnBfrrRPcU5Mo5I5CkS8PBvMJAVWkVzXvNR80Q6LhGnFJ5FDgwY/g2hnpA
 AM2mBaw6woQhH5BkhMGu2qEsKUmdEbUKR9yQz0yAnoxlz6QufSZPBMLcJztBz2e3
 SbEXnZgBr3zm0Tvz8rFQ+Nzs3LB/slvPdFIJEWysq4zdWPdDYSB6doFV1Ac9W5/E
 r6aOD5S2LmkIFZbmvUZakzfkkxdIQM/2/5ysTsLJP8m6YxZnmv++MgrLTnn+hPq8
 mAPMWB0HdEOhiZreKot89OPe2jPM16dC9sQj39sEXQ9HkmoR2ELppV7WNt1RNBeB
 rIWzwQK+xHfvPy+H1O63ljCxYXOy7MijbDQlHhuNLHC5ky1rjOM=
 =QdKU
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/defconfig

Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module

* tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: defconfig: enable Khadas TS050 panel as module

Link: https://lore.kernel.org/r/13bf8bc4-1cb7-4b94-8c98-9d1cdae5e1f8@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:49:47 +02:00
Arnd Bergmann
5a0054ba89 mvebu arm for 6.10 (part 1)
Decrease the usage of global GPIO numbers for LEDs for Orion5x boards
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf3hAAKCRALBhiOFHI7
 1cn6AKCAxIDLljIUWLfohb2vLLnxuqipUwCgnCCFTy3tP+RKrIHbCz5UwRBfkc4=
 =7SiK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56uoACgkQYKtH/8kJ
 UifhrBAAueIimvtR/5i8ImzSTQ3Rhf8I1wtLrIc0JvK7rv9sUzW3EnWPZN9BQ+RH
 /0VrXymiBQBOPJDmHTBU18pHf1xBhsB3imy//AiRJA03qDBlvgieG48XmKenuGY1
 rpr4EbVNC0aZhxI0lH+qO9mtaACxh1CFw2QXwcArM1gBGHgj3orIwAR1cf2Cynbf
 07SIAWa2LsW/lHyLBRf6OFZMohjlazPSrW2hOXevQNQR/YXRzQF9bCq7CL0F578v
 psWoeU1om5ekkQGYbv7u8VfyazKmlOVmtRpEtlpTK1zWQ3BIwnChuodEIDjrdrt0
 gCB3eNcNaC6MbMefKzx/5vf2kGwynh5mkk/DliWkRBA4/6umxFglEpm4x+YkVRxW
 lTYYGsj8odXIYd7zjStBjpHiUghmq/y9Ap5Vcuu+ZJ9pDqc/YbBnZ9InZBVoIptC
 nAAxV8fcUZX6DWP/1K2m625mAXnlR/KBqyCLU84sbTukUnbGPZG74PSDk+TIfrBH
 0A4sCOXdoTSToN/jMFEViNNICNZG28FSKl3kFvU13H2i6Vc+sdydS8UP55jHs79H
 EB2yJPWjEBVOj106lxwlPPa2gp7TNKiWPQBq6AE8rs4tmzaFHDHEJgH/Fv2Ekcza
 92So9acM+J1qLv6OwvZZZOPnhkCnrl46vnA9nP7JxbIuzZflmrE=
 =903+
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 6.10 (part 1)

Decrease the usage of global GPIO numbers for LEDs for Orion5x boards

* tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: orion5x: Convert TS409 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert Net2big board to GPIO descriptors for LEDs
  ARM: orion5x: Convert MV2120 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert DNS323 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert D2Net board to GPIO descriptors for LEDs

Link: https://lore.kernel.org/r/87h6fcndxj.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:48:42 +02:00
Arnd Bergmann
f89d22439f Samsung DTS ARM64 changes for v6.10, part two
Few changes exclusively for Google GS101:
 1. Add HSI0 and HSI2 clock controllers (CMUs).
 2. Add USB 3.1 Dual Role Device (DRD) support.
 3. Add UFS (Universal Flash Storage) support.
 4. Document bus clocks in pin controllers necessary for accessing
    registers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmY2JecQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD11XtD/0Z1kko4kh5yhPR5k9PlqWtvRIdkJl/VVPT
 WwqH2WlrNk6b4k9VQ81LDpgmvdZMFkYOiZ9c+pqtAIIdy1EHOrJS3hKEcC3+Nf84
 iR1frVnlg8mROj2Iw8awVjzgJOgvL2sxkNcfV+316/akswmGuVKrDW8qfJ0BZYxn
 riEjgIfYyaLUgjK98pokATQfpjwd3rnfifIG8hAEc7SAXrdNVKGiWNIa55bIgWJv
 kJlRgXY47RaR+Ooznz9HNwa0NlI3LnMS1God0hHiM4typNqWvmAVtTlcfawyIzqQ
 2dX9VsK4f/CEnTuFW+cXtSO8eGA2lTNIEfoXOTff5KebvaXZW5EY+5VQ2CHekFpF
 ERumG47znXfuBLeXrbCVfw7NPvljgAh0LQN+g1IFH2Lw+QimqZA5H80eaZ3HZuXc
 3z2vEQwshg3ct6l2wWnfK9XMSXrpKE4CoXfTemYpkJf7FSZxp33/glI690ttXC6X
 +/Qgu21VmsNNPY+5H5xHAtCrGFkBfcLn7CrT1C+TJHO3PI65tkE4tOIkkCs3Q7+z
 kz1JVLLj5Ee85HtSiO3h2sc1Q9ZAjpxlfaaZ+esE4GaJ557ouM/ZUTzRPYLiGDFx
 XVGgJGhDQtvqnGO/UWAEM4K/Qz4mgeZpjyyWtMA1nYjcCYVqL4C0BHz3AL+fa1Ck
 8e8QA8KxjQ==
 =xbpt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56qgACgkQYKtH/8kJ
 UieBdRAAiMcVqW91TtSv0URuqkrzMDzADI4VVGGNhhL3gTGvp1RGAP1FTL6q1pUu
 INssEtgEK6v5kPJAYLUMNiYsCz9jeeOzfoR5D++Qq8PPv4w54CUN62jXOjf9vG9D
 CymEywEgaJAnFjb1XgNROuLjatm2GgbCZvUT0tLqFW9D1TA8mjmGYf24kHmzCQsf
 leTRCY70kCmUvnfnwli36Gsx6sPP5niyeWl0UAdDuFlpfUqokBWGQ+lWx5zAkfBZ
 zT4rDeyr1lxfRBUkXDwQlaAuf+mr7L+N+3C/VIZNW2V14zYCwCrPVJWtZgCBOv7V
 99itbRQMfjpApkcY2q5agad6zJfLMeyruw6MCoAwwxErhLXq8S3QYZAdhgKIrfR5
 yrIPtvMelvZJqYxTk9/24ecIGZlFJaxQsGVmgJjyt3MQFPus4sQkMifcYXVDSJlK
 w7jqcUFmhn8KwmJU0YkmvFjYG/GJ7VDn55lC0E7pBLv2UuIbWqMGzDmlLNkxtLKM
 h44PAEnoS2rdDQvFp8ijC7V15PpWG8vQOyIwGoIglcyVcg6xtN7ZAoB62DRl18iS
 2OH28C4TNidP1CwwJgVSuL/0HQfG5BqRte6Zx7psVqOUxSx4CzhL+xsdwRSELKBL
 c4q8nK2mhJ9UY83xSbN0FcORjUE1+Z4bznmRU5vRE4Oda3QPMu0=
 =3I13
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.10, part two

Few changes exclusively for Google GS101:
1. Add HSI0 and HSI2 clock controllers (CMUs).
2. Add USB 3.1 Dual Role Device (DRD) support.
3. Add UFS (Universal Flash Storage) support.
4. Document bus clocks in pin controllers necessary for accessing
   registers.

* tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: gs101: specify empty clocks for remaining pinctrl
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01]
  arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive
  arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator
  arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
  arm64: dts: exynos: gs101: Add the hsi2 sysreg node
  dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible
  arm64: dts: exynos: gs101-oriole: enable USB on this board
  arm64: dts: exynos: gs101: add USB & USB-phy nodes
  arm64: dts: exynos: gs101: enable cmu-hsi2 clock controller
  arm64: dts: exynos: gs101: enable cmu-hsi0 clock controller
  dt-bindings: clock: google,gs101-clock: add HSI2 clock management unit
  dt-bindings: clock: google,gs101-clock: add HSI0 clock management unit

Link: https://lore.kernel.org/r/20240504121233.7589-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:36 +02:00
Arnd Bergmann
cbe240a8c5 Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmY389UQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgezsB/9c+E6x+Pn90no2zIioPVGU12nmwMuczv8o
 /4/ISTslNwkD9hC+GNhlMAsNkvuJpy9tJGO3S67oAXNq59X5AnzeIJFFgdYdmJB1
 QYZ5rKyotFkRkgD+lF44QobuMKP1RK7dsITz8g7sbOL5/QP8fAQUIL2nDnzZCOLT
 Ef+++JxeSbzpvPqphci85+EpEefCRJLIgSWI4LIoRC3QTVToqGidKab25T9c/OSb
 ll6gU7qrKWy4rwP0aQ9kw4ouLpHIL5T/jd9VdSx3gfcPYrldu6WBWvhdBglbVOFo
 92JZSpO2gO7LcUGnyq6kvNyV4rWW61OpPVofwXnM9KlFnJYxYgb3
 =DIqH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56pkACgkQYKtH/8kJ
 UidckhAAtfwpRmUdRF2s+BGdbtf9AXYanPFJG6BEjc+oM8B/pX8kJTbYBeuOqiWF
 bHbBzegz7Y0iyCtGrnRUGFd5KMHMCsPYrKcrgtjLiqy5+P/xOdRrcmjbGIaiUG+u
 4F5Wx7r21L62d1pPpzRZU+8qSWjU1/vLAnz6zGdnFqAeE2l4MC5zfnoU90sdIpoS
 3s1u3UPFK5RVjoU0j2ht05taeue0X6KjaPefDJsl8570eoUlA0kKDa9RN3CMDH0W
 d34wWDDtKaDctkYx3MRXlpW8hBvuWObhB+t3oCw/uo0doZe5f6TEnPKdT8NcMPcA
 SLvvQwmWozZAAgkfjYYZYjM8bC8JXgMGZSV4aQok3NgiESL3Oj2m6tBdhrZB1Xia
 snOqHnp+IpGB+6oUJcqoJDOAtNK2wf1LFBWtRmpAwZIPNVlousUcfHFN/PhCBHBM
 yo75zIserVdQ6ovMuGztFipNyZ43RlDcMAcF8xdWgNP0VrOHhmL7eQXaJiAX5pNv
 ulCIacUUjiWB8UCfvjZnYdCkujxtuhKfGlqfkNDep8JkiAxZdnalyDvb8jAsmeku
 Z/LNdGlFFgb5AmXkDft4ob3cNCDdoMcEqc64mL0J8+F4yVqdvtlc0LbKpgfStEye
 4ec23CXOOIEKgNs8jZKwN7mJOGCG6Hochjhp0RpH5Yw0ALh53mk=
 =5mEg
 -----END PGP SIGNATURE-----

Merge tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.

* tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add rk3588 pcie and php IOMMUs
  arm64: dts: rockchip: enable onboard spi flash for rock-3a
  arm64: dts: rockchip: add USB-C support to rk3588s-orangepi-5
  arm64: dts: rockchip: Enable GPU on Orange Pi 5
  arm64: dts: rockchip: enable GPU on khadas-edge2
  arm64: dts: rockchip: Add USB3 on Edgeble NCM6A-IO board
  arm64: dts: rockchip: Support poweroff on Edgeble Neural Compute Module
  arm64: dts: rockchip: Add Radxa ROCK 3C
  dt-bindings: arm: rockchip: add Radxa ROCK 3C

Link: https://lore.kernel.org/r/13810480.dW097sEU6C@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:21 +02:00
Arnd Bergmann
8db93c212e mvebu dt64 for 6.10 (part 1)
Few dts fix for dt validation
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf6GgAKCRALBhiOFHI7
 1RdOAJ9/2i3xP4EcGlOIOYEwMhRpegEuXQCgkFgWJM0kIHoJoWGuYSLw8ApEVlw=
 =USEH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY54LYACgkQYKtH/8kJ
 UiePqxAAta8+WuabDzrWtWrkqRr71E4/2i7YxcBy5uuFGG79dKSA5ZDxIhm/L6KI
 v3yqXNBRH7pT8w46iYeYR46PysCEXGy+i9hO0oDIFgIAp76xV+6O0W0XYSxFmh/c
 qEHm90ugKe1xhrjatcONwFW8BT7eFH+GoCHesXtW3nEe/aIsE6sKAUuvJ6QRtv8p
 XGrfZ/McvZc15M4h590iIgCH52jhCL4WnGYeXmQDZf8c9X6ewh1ElbYZkC9RHtoB
 m5tAGti/rpt/Hslqmv1FX8f92UUDUVncTYhdTz0kEuVjPBVyUqWTAKUZwlVPT6by
 7tamLJrsNWAI7xgHAbvETR3OhdywSMIXtOTm4H04t2Vx+djb7RMK32TmAOeUcxfB
 xLjGDRyhnvVNZKlUO/Y2YSYEMkY9qfV8qIj/phTHJTufRE+Pol9N1nLqUD7wNZnH
 A4EMt26rm4MM04zEj7DxfPpg0yDsDdvhCSWti23DmTSToIVhXx5Yl596PsrNgSYh
 NMeTjDGE545HsoDUudD5gxZHUCApa6VmhifR0NcXT+EWCkcAxDSALEPLfENMOYMK
 Sj1KKVTB283Dc/Ink5IkJfyxHqBdxQufJ3EFkw5XlZFxR5ap4GQ1s0Q/FFPTc4O/
 QfxNVRnMnG3cinwygVzKoczsy/MFKbk3GJudxN9MPRsrhoHjHbk=
 =DM9C
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.10 (part 1)

Few dts fix for dt validation

* tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: espressobin-ultra: fix Ethernet Switch unit address
  arm64: dts: marvell: turris-mox: drop unneeded flash address/size-cells
  arm64: dts: marvell: eDPU: drop redundant address/size-cells
  arm64: dts: marvell: cn9130-crb: drop unneeded "status"
  arm64: dts: marvell: cn9130-crb: drop wrong unit-addresses
  arm64: dts: marvell: cn9130-db: drop wrong unit-addresses
  arm64: dts: marvell: cn9131-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: cn9130-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: ap80x: fix IOMMU unit address

Link: https://lore.kernel.org/r/87jzk8ndyy.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:05:10 +02:00
Arnd Bergmann
5549d1e399 One more Qualcomm Arm64 DeviceTree fix for v6.9
On ths SA8155P automotive platform, the wrong gpio controller is defined
 for the SD-card detect pin, which depending on probe ordering of things
 cause ethernet to be broken. The card detect pin reference is corrected
 to solve this problem.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYtG44VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FThQQAJvYr5LolVQPL4etFNL1OY/2xC2u
 gAahfgrXk/IDpJAsnJ2fgZn59A4zuNI+Efvh6iWbMkVhyKgdiTY/VI2Io5iSb0mq
 NmdWf2ll/aaM7C35Q7nsWB3bERN+GlLXKXJEugJrpct9uzlJYNkawZvyhquxBLc5
 MAYXugaD7xzMVliYIyhova1+nzcMfgZld4PzyBDnpXz0GtN7ZyI0XaRa8FcYl5FV
 ESNHpsIrP0mxFWWJS9XOkBeEGNVN3DH1SS4p73AiJ0LFU4Y5DxmtqeBFPtPB7Gpe
 AR165n3bAr77gT3cQ8/uo1afCCSV07tSdxhy6ULn1HSiROBIJRZjpb2ly1asMhe6
 DjviNcgxtpYHC1xh9ItTt7gojlD6ZdK26M5HoEn5+TyRZ6ZbeAZnw749maZ03mXu
 pTKUdTg5hgLgGmuiq5lupuKr3YltuXpRe9oGZJxAUlU3MHTxdG8+5oRLYha5qqd3
 T8UBYT1fpxknuqAsye7rnE/fhok0QGGhsWTQwYnTh9t/5wbK9/wQwN4fuOwEGwtR
 23LDZFMEksVW5sykYmwBFqQ5AzqfyaRU3sMyDA+Pn9XKGvtZ0McPmlrvmPTjQXsp
 0q9XU14Ozd/D7mihATLKDija8wdlNRNK7p8U+vxuGzQBArNPWbL8onARpSjhzu7/
 b+osswzeX6FbvY1E
 =+Jm6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY5xQoACgkQYKtH/8kJ
 UicIQg//YmxeExPEPpfbDtVd3rMaEgy7THE7QMxcRVE0daea4pF+aMD8cmYhGvhk
 XICNC+Qj8x3ZL2Q0efN5LqJK3fL2CiS5asU0dwhm69nuumygsznkiLW7Dj0zDNoG
 rZwbx3gPAhJ3dkg8V55ag2D58/1wq/LsmrcR/HSRxBZtOgJLknf3fHNlKP9EfiMO
 NuJPloUsRoosTetLpC5me3rE9REruGvBYhPPe5AOM2TYkEXttYAsbS0vVdaPxg9t
 77O13ASuDLMMcU+mgOnLxzQUNP6+SQKVmkfQecgXS9dfaTs5Ru6x7T1ffbxRrh2r
 AUSh2TpImg9MU9Mz3345dhR8nriCUxw4KIiud5MF2y2ig4Ho5Kz9bkFiPNNTBkIH
 OLRRlRpy0YglbZWQ4dfDar0Klzkbe5IFrGZCdWQo/jzt+yNDjhX/ZDx6gqSLHf+T
 QBRjzjnWXVTz+s36b7vPW+PpmSeZWL0jMOMKekpIp7nXXYj9nHThebq7pETFq0SY
 e/bAdy/wNTsK51vcMh+5+acMDoXq/pqbhKZfN6QdO7i/ymbh+4mCEi2VcaiH3w3a
 i+wKBuMy0k5pkjNAWXkUSl1+RyT71+Sz1um4gBezKk5QqSXM1C6yqaX+LJ7IiqnD
 8ev1T1CtrcXL3EajYTD7BeU0ryz1hs4Bumk3nOYsgKy/Rd6UcRA=
 =CCJj
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

One more Qualcomm Arm64 DeviceTree fix for v6.9

On ths SA8155P automotive platform, the wrong gpio controller is defined
for the SD-card detect pin, which depending on probe ordering of things
cause ethernet to be broken. The card detect pin reference is corrected
to solve this problem.

* tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration

Link: https://lore.kernel.org/r/20240427153817.1430382-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 08:07:06 +02:00
Ming Lei
ffd379c13f block: set default max segment size in case of virt_boundary
For devices with virt_boundary limit, the driver may provide zero max
segment size, we have to set it as UINT_MAX at default. Otherwise, it
may cause warning in driver when handling sglist.

Fix it by setting default max segment size as UINT_MAX.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Mike Snitzer <snitzer@kernel.org>
Fixes: b561ea56a2 ("block: allow device to have both virt_boundary_mask and max segment size")
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Closes: https://lore.kernel.org/linux-block/7e38b67c-9372-a42d-41eb-abdce33d3372@linux-m68k.org/
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20240424134722.2584284-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-05-06 20:27:51 -06:00
Donald Hunter
9adcac6506 netlink: specs: Add missing bridge linkinfo attrs
Attributes for FDB learned entries were added to the if_link netlink api
for bridge linkinfo but are missing from the rt_link.yaml spec. Add the
missing attributes to the spec.

Fixes: ddd1ad6882 ("net: bridge: Add netlink knobs for number / max learned FDB entries")
Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20240503164304.87427-1-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 19:06:07 -07:00
Eric Dumazet
d8cac85686 phonet: fix rtm_phonet_notify() skb allocation
fill_route() stores three components in the skb:

- struct rtmsg
- RTA_DST (u8)
- RTA_OIF (u32)

Therefore, rtm_phonet_notify() should use

NLMSG_ALIGN(sizeof(struct rtmsg)) +
nla_total_size(1) +
nla_total_size(4)

Fixes: f062f41d06 ("Phonet: routing table Netlink interface")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Rémi Denis-Courmont <courmisch@gmail.com>
Link: https://lore.kernel.org/r/20240502161700.1804476-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 18:30:00 -07:00
Linus Torvalds
dccb07f291 for-6.9-rc7-tag
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAmY5LaQACgkQxWXV+ddt
 WDs7aQ/8DbxhYTNqHmEv6860w/o7Sb856foIqlZ81v1r55XYIFGhTbvQntjQgvcI
 Kf8+Du6ijpYeAO2Iuj/7EQP/6yA+f5NCogpW8Nsr24riUCvzjhXr49KQbVg1SsdX
 i8iec0UCQlxq7RncbpGiIwgxPRMJhUEG/wRHWnGR3jOJFXSvsLJpywZbn+Yw1d7w
 kcUbHEzZPZqrWPAIcifpv/7qVCd1sPN8P3mMevcWtc1diEhQlHVVF7JnCcHxrwBP
 dIsNSWyt0YmgIt231GW6GKDwuQHyv870yHK9gumvpePsfcZnDBgeMuMvv0TykhgJ
 BHV2gwhIK11bNala1pw1F7CX4oiiHEeI/09/nh7xopcjnULMRFItGus2dkqDagSa
 ex4g48J412crWayZ5uFqAVYeO9MNufvLvCutUj1sD/teh2ymMq82gHzQO0FTu5GL
 NjWLoJXXyU18BgbXTmbm5rSMycDf1BG9Hv+MdxwEFrasF2q6Lhp+EIljUxN7+n49
 i9GrLWptd8sBx/GtZXhsZlWP+vPSuHqdjZe61LD4B3IgBeGDJg6tJmHv8rEFO4Ws
 9nkvaDVF03pHWxWOocDIzbrkpVwOLBaDHGwjH9Cn/lgIHL+zjXVpMaKz4/klpOr8
 4/ehUajrOK6Wmyoi3fKYxZACnWK5HhFHYcB8zc1R8+zt+Pj/mbk=
 =2no9
 -----END PGP SIGNATURE-----

Merge tag 'for-6.9-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:
 "Two more fixes, both have some visible effects on user space:

   - add check if quotas are enabled when passing qgroup inheritance
     info, this affects snapper that could fail to create a snapshot

   - do check for leaf/node flag WRITTEN earlier so that nodes are
     completely validated before access, this used to be done by
     integrity checker but it's been removed and left an unhandled case"

* tag 'for-6.9-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: make sure that WRITTEN is set on all metadata blocks
  btrfs: qgroup: do not check qgroup inherit if qgroup is disabled
2024-05-06 13:43:13 -07:00
Linus Torvalds
3628e0383d Reapply "drm/qxl: simplify qxl_fence_wait"
This reverts commit 07ed11afb6.

Stephen Rostedt reports:
 "I went to run my tests on my VMs and the tests hung on boot up.
  Unfortunately, the most I ever got out was:

  [   93.607888] Testing event system initcall: OK
  [   93.667730] Running tests on all trace events:
  [   93.669757] Testing all events: OK
  [   95.631064] ------------[ cut here ]------------
  Timed out after 60 seconds"

and further debugging points to a possible circular locking dependency
between the console_owner locking and the worker pool locking.

Reverting the commit allows Steve's VM to boot to completion again.

[ This may obviously result in the "[TTM] Buffer eviction failed"
  messages again, which was the reason for that original revert. But at
  this point this seems preferable to a non-booting system... ]

Reported-and-bisected-by: Steven Rostedt <rostedt@goodmis.org>
Link: https://lore.kernel.org/all/20240502081641.457aa25f@gandalf.local.home/
Acked-by: Maxime Ripard <mripard@kernel.org>
Cc: Alex Constantino <dreaming.about.electric.sheep@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Timo Lindfors <timo.lindfors@iki.fi>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-05-06 13:28:59 -07:00
Kai-Heng Feng
f3d049b35b PCI/ASPM: Restore parent state to parent, child state to child
There's a typo that makes parent device uses child LNKCTL value and vice
versa. This causes Micron NVMe to trigger a reboot upon system resume.

Correct the typo to fix the issue.

Fixes: 64dbb2d707 ("PCI/ASPM: Disable L1 before configuring L1 Substates")
Link: https://lore.kernel.org/r/20240506051602.1990743-1-kai.heng.feng@canonical.com
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[bhelgaas: update subject]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2024-05-06 14:12:40 -05:00
Chaitanya Kumar Borah
c66b835627
drm/i915/audio: Fix audio time stamp programming for DP
Intel hardware is capable of programming the Maud/Naud SDPs on its
own based on real-time clocks. While doing so, it takes care
of any deviations from the theoretical values. Programming the registers
explicitly with static values can interfere with this logic. Therefore,
let the HW decide the Maud and Naud SDPs on it's own.

Cc: stable@vger.kernel.org # v5.17
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8097
Co-developed-by: Kai Vehmanen <kai.vehmanen@intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@intel.com>
Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240430091825.733499-1-chaitanya.kumar.borah@intel.com
(cherry picked from commit 8e056b50d9)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-05-06 14:15:28 -04:00
Andi Shyti
51c1b42a23
drm/i915/gt: Automate CCS Mode setting during engine resets
We missed setting the CCS mode during resume and engine resets.
Create a workaround to be added in the engine's workaround list.
This workaround sets the XEHP_CCS_MODE value at every reset.

The issue can be reproduced by running:

  $ clpeak --kernel-latency

Without resetting the CCS mode, we encounter a fence timeout:

  Fence expiration time out i915-0000:03:00.0:clpeak[2387]:2!

Fixes: 6db31251bb ("drm/i915/gt: Enable only one CCS for compute workload")
Reported-by: Gnattu OC <gnattuoc@me.com>
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10895
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: <stable@vger.kernel.org> # v6.2+
Tested-by: Gnattu OC <gnattuoc@me.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Tested-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240426000723.229296-1-andi.shyti@linux.intel.com
(cherry picked from commit 4cfca03f76)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-05-06 14:15:24 -04:00
Linus Torvalds
ee5b455b0a slab fixes for 6.9-rc7
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmY4pYcACgkQu+CwddJF
 iJpdxAf/eRUaRSJ2mI2XbK8yzvzCmWMU7xh5uMTCfXIKzvf5sBV5xXRLKi+owJ+k
 artBjIHzZ7Y0DFS3dJboY1iyjpTMzC8Mn1kWUNV+7N44FaOaICckBgi7q2iyayQG
 O/aukwwCh4dDpQqY0LeLg39UicLU4uS/8NDkII6CJQTep6tpbtvLGxONwlkbd9x2
 9EDPC1Y3p2M0N7P12pJs/nwRx7vxdHTmBcE72OU6wq7sWLou2vzSVBzWlFfnEURD
 Kbq3/7y6WRhSmz05WCJ+BGEMSvwjM9YMn56LfHDa/mGCySH2/Wr/d39hVTv746zG
 66anLCU/NpqtzTn5wM3vunKRh+K3Eg==
 =+O33
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-6.9-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab fixes from Vlastimil Babka:

 - Fix for cleanup infrastructure (Dan Carpenter)

   This makes the __free(kfree) cleanup hooks not crash on error
   pointers.

 - SLUB fix for freepointer checking (Nicolas Bouchinet)

   This fixes a recently introduced bug that manifests when
   init_on_free, CONFIG_SLAB_FREELIST_HARDENED and consistency checks
   (slub_debug=F) are all enabled, and results in false-positive
   freepointer corrupt reports for caches that store freepointer outside
   of the object area.

* tag 'slab-for-6.9-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
  mm/slab: make __free(kfree) accept error pointers
  mm/slub: avoid zeroing outside-object freepointer for single free
2024-05-06 10:27:58 -07:00
Linus Torvalds
c73677ca41 auxdisplay for v6.10-1
* A couple of non-critical build fixes to Character LCD library
 * Miscellaneous fixes here and there
 
 The following is an automated git shortlog grouped by driver:
 
 charlcd:
  -  Don't rebuild when CONFIG_PANEL_BOOT_MESSAGE=y
  -  Add missing MODULE_DESCRIPTION()
 
 linedisp:
  -  Group display drivers together
 
 seg-led-gpio:
  -  Convert to platform remove callback returning void
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmY4lfkACgkQb7wzTHR8
 rCge7w/+Ktz73VFnrKcf0TiteWxFhsLGbQa5uJyZiJxeAf/SNnDeWG9blEzSXX1A
 6eKmDD1aiuNdsaHESBjHXrYc7YrYLXSestKaHvplPtiW7Kep2pHUoG2scB07TUFj
 ppd8fSI5zQGG9jyg6BaLG4ssmjXHshTyYdKt+/LiGP+8NTcfbp5VSRlslLH7uIL3
 OId2YlJENyAIlBAsfK4chlzyxgB83VgYbtCsdfGbWJvtV52SB9P1ypssEWCMJEoW
 cfECtSYNUbDyr1XE54fjbtyHx/b2suynWzyQnCnqrfSQTBafD82v7QzwmcRVf+y3
 poXfFHfQgV7zbLHVs3RtZ8rzxdxHM5i1NSuNJV0dFfeyKAH4JXAOLNaKcYIZq1+Z
 9lYm0D3VozDu44vblbqNjRwNHJCzTrbmFr6TkrQ7/kHtE66wzWvscrXoSw21089+
 aVl61Kl7BTgndboiorcEjb0SQgcCEW+geMd7Xf1PQvv8vvQ0rEvzSbvDKbdYurXY
 bVG3brvtAU/1tSihrU+a2JJ9GF2Y/bZemeeah2ip4Z4VH3u4PcFOfqu1eifUAmL8
 +ImxaofGR/r2qPdtXaPdAPhqONzXmT/0Z+xMi5N727VLz6/V/2ogwqOqj3J629Gl
 0UnHQuUWP1kn8QzaP44P934MkouDmUXa+hBwHTwuH1/k827GaoQ=
 =gP6u
 -----END PGP SIGNATURE-----

Merge tag 'auxdisplay-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay

Pull auxdisplay fixes from Andy Shevchenko:

 - A couple of non-critical build fixes to Character LCD library

 - Miscellaneous fixes here and there

* tag 'auxdisplay-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay:
  auxdisplay: charlcd: Don't rebuild when CONFIG_PANEL_BOOT_MESSAGE=y
  auxdisplay: charlcd: Add missing MODULE_DESCRIPTION()
  auxdisplay: seg-led-gpio: Convert to platform remove callback returning void
  auxdisplay: linedisp: Group display drivers together
2024-05-06 09:48:46 -07:00
Kent Overstreet
71dac2482a bcachefs: BCH_SB_LAYOUT_SIZE_BITS_MAX
Define a constant for the max superblock size, to avoid a too-large
shift.

Reported-by: syzbot+a8b0fb419355c91dda7f@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
88ab10186c bcachefs: Add missing skcipher_request_set_callback() call
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
8060bf1d83 bcachefs: Fix snapshot_t() usage in bch2_fs_quota_read_inode()
bch2_fs_quota_read_inode() wasn't entirely updated to the
bch2_snapshot_tree() helper, which takes rcu lock.

Reported-by: syzbot+a3a9a61224ed3b7f0010@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
0ec5b3b7cc bcachefs: Fix shift-by-64 in bformat_needs_redo()
Ancient versions of bcachefs produced packed formats that could
represent keys that our in memory format cannot represent;
bformat_needs_redo() has some tricky shifts to check for this sort of
overflow.

Reported-by: syzbot+594427aebfefeebe91c6@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
2bb9600d5d bcachefs: Guard against unknown k.k->type in __bkey_invalid()
For forwards compatibility we have to allow unknown key types, and only
run the checks that make sense against them.

Fix a missing guard on k.k->type being known.

Reported-by: syzbot+ae4dc916da3ce51f284f@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
f39055220f bcachefs: Add missing validation for superblock section clean
We were forgetting to check for jset entries that overrun the end of the
section - both in validate and to_text(); to_text() needs to be safe for
types that fail to validate.

Reported-by: syzbot+c48865e11e7e893ec4ab@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
6b8cbfc3db bcachefs: Fix assert in bch2_alloc_v4_invalid()
Reported-by: syzbot+10827fa6b176e1acf1d0@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Reed Riley
9a0ec04511 bcachefs: fix overflow in fiemap
filefrag (and potentially other utilities that call fiemap) sometimes
pass ULONG_MAX as the length.  fiemap_prep clamps excessively large
lengths - but the calculation of end can overflow if it occurs before
calling fiemap_prep.  When this happens, filefrag assumes it has read to
the end and exits.

Signed-off-by: Reed Riley <reed@riley.engineer>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
db42549d40 bcachefs: Add a better limit for maximum number of buckets
The bucket_gens array is a single array allocation (one byte per
bucket), and kernel allocations are still limited to INT_MAX.

Check this limit to avoid failing the bucket_gens array allocation.

Reported-by: syzbot+b29f436493184ea42e2b@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
18b4abcead bcachefs: Fix lifetime issue in device iterator helpers
bch2_get_next_dev() and bch2_get_next_online_dev() iterate over devices,
dropping and taking refs as they go; we can't access the previous device
(for ca->dev_idx) after we've dropped our ref to it, unless we take
rcu_read_lock() first.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
3a2d025927 bcachefs: Fix bch2_dev_lookup() refcounting
bch2_dev_lookup() is supposed to take a ref on the device it returns, but
for_each_member_device() takes refs as it iterates,
for_each_member_device_rcu() does not.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
1267df40ac bcachefs: Initialize bch_write_op->failed in inline data path
Normally this is initialized in __bch2_write(), which is executed in a
loop, but the inline data path skips this.

Reported-by: syzbot+fd3ccb331eb21f05d13b@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
feb077c177 bcachefs: Fix refcount put in sb_field_resize error path
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
4a8521b6bb bcachefs: Inodes need extra padding for varint_decode_fast()
Reported-by: syzbot+66b9b74f6520068596a9@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
b30b70ad8b bcachefs: Fix early error path in bch2_fs_btree_key_cache_exit()
Reported-by: syzbot+a35cdb62ec34d44fb062@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
a2ddaf965f bcachefs: bucket_pos_to_bp_noerror()
We don't want the assert when we're checking if the backpointer is
valid.

Reported-by: syzbot+bf7215c0525098e7747a@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
7ffec9ccdc bcachefs: don't free error pointers
Reported-by: syzbot+3333603f569fc2ef258c@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:58:17 -04:00
Kent Overstreet
72e71bf029 bcachefs: Fix a scheduler splat in __bch2_next_write_buffer_flush_journal_buf()
We're using mutex_lock() inside a wait_event() conditional -
prepare_to_wait() has already flipped task state, so potentially
blocking ops need annotation.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-05-06 10:14:13 -04:00
Serge Semin
591c946675 EDAC/synopsys: Fix ECC status and IRQ control race condition
The race condition around the ECCCLR register access happens in the IRQ
disable method called in the device remove() procedure and in the ECC IRQ
handler:

  1. Enable IRQ:
     a. ECCCLR = EN_CE | EN_UE
  2. Disable IRQ:
     a. ECCCLR = 0
  3. IRQ handler:
     a. ECCCLR = CLR_CE | CLR_CE_CNT | CLR_CE | CLR_CE_CNT
     b. ECCCLR = 0
     c. ECCCLR = EN_CE | EN_UE

So if the IRQ disabling procedure is called concurrently with the IRQ
handler method the IRQ might be actually left enabled due to the
statement 3c.

The root cause of the problem is that ECCCLR register (which since
v3.10a has been called as ECCCTL) has intermixed ECC status data clear
flags and the IRQ enable/disable flags. Thus the IRQ disabling (clear EN
flags) and handling (write 1 to clear ECC status data) procedures must
be serialised around the ECCCTL register modification to prevent the
race.

So fix the problem described above by adding the spin-lock around the
ECCCLR modifications and preventing the IRQ-handler from modifying the
IRQs enable flags (there is no point in disabling the IRQ and then
re-enabling it again within a single IRQ handler call, see the
statements 3a/3b and 3c above).

Fixes: f7824ded41 ("EDAC/synopsys: Add support for version 3 of the Synopsys EDAC DDR")
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240222181324.28242-2-fancer.lancer@gmail.com
2024-05-06 14:19:07 +02:00
Thadeu Lima de Souza Cascardo
a26ff37e62 net: fix out-of-bounds access in ops_init
net_alloc_generic is called by net_alloc, which is called without any
locking. It reads max_gen_ptrs, which is changed under pernet_ops_rwsem. It
is read twice, first to allocate an array, then to set s.len, which is
later used to limit the bounds of the array access.

It is possible that the array is allocated and another thread is
registering a new pernet ops, increments max_gen_ptrs, which is then used
to set s.len with a larger than allocated length for the variable array.

Fix it by reading max_gen_ptrs only once in net_alloc_generic. If
max_gen_ptrs is later incremented, it will be caught in net_assign_generic.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Fixes: 073862ba5d ("netns: fix net_alloc_generic()")
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240502132006.3430840-1-cascardo@igalia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-06 13:38:14 +02:00
Arnd Bergmann
a4184174be alpha: drop pre-EV56 support
All EV4 machines are already gone, and the remaining EV5 based machines
all support the slightly more modern EV56 generation as well.
Debian only supports EV56 and later.

Drop both of these and build kernels optimized for EV56 and higher
when the "generic" options is selected, tuning for an out-of-order
EV6 pipeline, same as Debian userspace.

Since this was the only supported architecture without 8-bit and
16-bit stores, common kernel code no longer has to worry about
aligning struct members, and existing workarounds from the block
and tty layers can be removed.

The alpha memory management code no longer needs an abstraction
for the differences between EV4 and EV5+.

Link: https://lists.debian.org/debian-alpha/2023/05/msg00009.html
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-06 12:05:00 +02:00
John Garry
5f8be0efb6 mailmap: add entry for John Garry
get_maintainers.pl sometimes suggests my name and old e-mail address, so
update .mailmap to point to my current e-mail address.

Link: https://lkml.kernel.org/r/20240503085736.3354268-1-john.g.garry@oracle.com
Signed-off-by: John Garry <john.g.garry@oracle.com>
Reported-by: Conor Dooley <conor@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-05-05 17:28:08 -07:00