Commit Graph

1337259 Commits

Author SHA1 Message Date
Linus Torvalds
912ad8b317 bcachefs fix for 6.14-rc7
This one is high priority: a user hit an assertion in the upgrade to
 6.14, and we don't have a reproducer, so this changes the assertion to
 an emergency read-only with more info so we can debug it.
 -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmfUTFgACgkQE6szbY3K
 bnYOlg/3Ram/mou5oHuUnvX6ZhtJ2ATewJ72MIKB2rTFP/5hlJk1Mr16hJFrNf7o
 oGvklAGkLeq/1JMggRMJ8iLvwhT5jL8MBCt9eq9EI0zfjN9mT5g+hPjUsaznz1XS
 Fcb8i0587vhv5+peM+KEwUm2tDU0uPK9efOEhfYT08bleRNODU8wDoS6e8O3LSmp
 mTsOfhfL8pbl5AhmliEwy7MjLymNolxmKdTszSEkPqL7kMrKErQD2qrieoQbnFCa
 K+jhGkwbo2pTdl/yA8PuPHyA3Z65F5oNgUDhfXWhUXA0nQaYSI1eK0gakxkBEyFo
 WMoNDuto8sATKGz3CStBo7BYXM8TwEd16czlk/UtHu7svwuTEIZRhF8hFs7YnjN3
 cZ8J4gBd05bInXfe1GaVm44FbOFMKHIlFH1WRgwjbEX/zLtcr5I/cKGDdxvxjoUO
 OgqNrScEyFWRylSkbtZQBEhKForokC2tzTLxnegu2QJ6tWd1n4koW/GymM82LnPB
 6sjQJ7hXjQqqBLQefGWFSqjqgcFQ+//0j1uww4NspwHgnoFEM18aFmFTP77Acwgt
 2RnsN9Rvak+2u/j+oZ65xR7osZFSAlDZo9ugoK5Pzn3MipWy1zfpdXs9NWj1+J4N
 3GBoptFyHKFZhLdrP/1xXMdJMWN4abazADUr4M4Yxjj29uF6sw==
 =Ahlg
 -----END PGP SIGNATURE-----

Merge tag 'bcachefs-2025-03-14' of git://evilpiepirate.org/bcachefs

Pull bcachefs hotfix from Kent Overstreet:
 "This one is high priority: a user hit an assertion in the upgrade to
  6.14, and we don't have a reproducer, so this changes the assertion to
  an emergency read-only with more info so we can debug it"

* tag 'bcachefs-2025-03-14' of git://evilpiepirate.org/bcachefs:
  bcachefs: Change btree wb assert to runtime error
2025-03-14 12:14:32 -10:00
Linus Torvalds
b35233e7bf - dm-flakey: fix memory corruption in optional corrupt_bio_byte feature
-----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRnH8MwLyZDhyYfesYTAyx9YGnhbQUCZ9QgCxQcbXBhdG9ja2FA
 cmVkaGF0LmNvbQAKCRATAyx9YGnhbQOXAP0dT6GGRIeW02cWgBeDAT4dmCOMyZhV
 Y4QYbBWnfpm97QEAmuEkUrw8apznS9kJ+n/O4NFbBa3gWJJ0K80HnPxX8wE=
 =HWcU
 -----END PGP SIGNATURE-----

Merge tag 'for-6.14/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fix from Mikulas Patocka:

 - dm-flakey: fix memory corruption in optional corrupt_bio_byte feature

* tag 'for-6.14/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm-flakey: Fix memory corruption in optional corrupt_bio_byte feature
2025-03-14 11:31:57 -10:00
Linus Torvalds
580b203235 block-6.14-20250313
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmfTYxsQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpjVKD/9qZjztmVq6Rk9RBjZwMYxcO9Nzj7qQQ6m9
 S15eXslAA1eLec3p1Mx4oVaWoFranY03BClqCgywBUAgpYstnT9cEqkz0P+n6xIE
 bNGjfxx4NInvrQYRETskc4wQqOnAdiRMd9i96EpHqW9Pi/pl8dSQxmxlaeo0BBIM
 XDvodLhr38aLJwcNBQ9NKCfhJ7RruACuSiXRAsPH3D641ZpccW4ADuhYxhJDehKa
 fMzuEFaa9/mBvmIrhE3QCbvWr7VYzSkadMLJWnxLsN1PU4FXZbh4Oy5Kp7DrA4Zq
 YkwezSivjNWNqNsiyvVa63mKbxfe9MSh5odqWuLrkWr4cOzEOcpHRbNV2El5RK/x
 BtGt/eCT2cRQAG4MzveoiE1yG9AAmUvUZL/RvxbERedqWO69IsgrsIsdnoiaLgw/
 267eCeGQlpHGhVUKga7ouShlTowTaCLCi+XgJwUTsVP/VPuzEFwgkzX0J45bSPGd
 h0laUzuHcThe8cRY2t5JWu+JJTqHj6ubsPeqiMAQzCns1C+IWYsjPXEohfqt7av+
 2yoIwG9DCBfJfh0ml0t3yHHMSJzjcwQcQAw1P7loLI+TIDvrpVP7AYOVt4SYeXl4
 RTEvNKQRmQGNZ8B3lGrqVKnbJ5ExBzvE6muQTOhockCTQsNK7WNaT2dMWRLyW6rW
 HcdUkADDVg==
 =MG/C
 -----END PGP SIGNATURE-----

Merge tag 'block-6.14-20250313' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:

 - NVMe pull request via Keith:
     - Concurrent pci error and hotplug handling fix (Keith)
     - Endpoint function fixes (Damien)

 - Fix for a regression introduced in this cycle with error checking for
   batched request completions (Shin'ichiro)

* tag 'block-6.14-20250313' of git://git.kernel.dk/linux:
  block: change blk_mq_add_to_batch() third argument type to bool
  nvme: move error logging from nvme_end_req() to __nvme_end_req()
  nvmet: pci-epf: Do not add an IRQ vector if not needed
  nvmet: pci-epf: Set NVMET_PCI_EPF_Q_LIVE when a queue is fully created
  nvme-pci: fix stuck reset on concurrent DPC and HP
2025-03-14 11:22:05 -10:00
Linus Torvalds
83158b21ae platform-drivers-x86 for v6.14-5
Fixes and new HW support:
 
  - amd/pmf:
 
     - Fix error handling in amd_pmf_init_smart_pc()
 
     - Fix missing hidden options for Smart PC
 
  - surface: aggregator_registry: Add Support for Surface Pro 11
 
 The following is an automated shortlog grouped by driver:
 
 amd/pmf:
  -  fix cleanup in amd_pmf_init_smart_pc()
 
 amd: pmf:
  -  Fix missing hidden options for Smart PC
 
 MAINTAINERS:
  -  Update Ike Panhc's email address
 
 surface: aggregator_registry:
  -  Add Support for Surface Pro 11
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZ9Q9DAAKCRBZrE9hU+XO
 MZE3AP9GnIgzXK1dFbuorGfNCHMol4TbR6oANflMBPvORWE54QD/XWwongTvUpFU
 cgwVSasJb2fLso/nyBlVmYeKE7h8qAk=
 =6Une
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v6.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fixes from Ilpo Järvinen:
 "Fixes and new HW support.

  The diff is a bit larger than I'd prefer at this point due to
  unwinding the amd/pmf driver's error handling properly instead of
  calling a deinit function that was a can full of worms.

  Summary:

   - amd/pmf:
       - Fix error handling in amd_pmf_init_smart_pc()
       - Fix missing hidden options for Smart PC

   - surface: aggregator_registry: Add Support for Surface Pro 11"

* tag 'platform-drivers-x86-v6.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  MAINTAINERS: Update Ike Panhc's email address
  platform/x86/amd: pmf: Fix missing hidden options for Smart PC
  platform/surface: aggregator_registry: Add Support for Surface Pro 11
  platform/x86/amd/pmf: fix cleanup in amd_pmf_init_smart_pc()
2025-03-14 10:57:28 -10:00
Linus Torvalds
6efcfe105c gpio fixes for v6.14-rc7
- use raw notifier for line state events
 - don't check the return value of gpio_chip::get_direction() when
   registering a GPIO chip
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmfT/6AACgkQEacuoBRx
 13JcXBAAxhMZQ4WpdqXMCjLTSGCRGS/QsmsqMFSeaPAi9es3BiQrFHq8D5uu0pGT
 37mkKQVt7mnNy7N7edbheKKwmwN6DCEBYvBNMnKTuXuruHOIsNqk/zgBisB5BlAV
 nrZhy5c7pSRcMVVfnNr9lFgfIw0Vg1chUXh3GqL9l4JhrIpWdtnACw2/RvjV3CCj
 eGotF+pBKoLiN8fGobK7b710LptUJ0oB0RLxgYkqPHwBFRe6A90Z6NgQtTHzIcI/
 lHxEU2kmfqGGhhQMLZwE8f1IR477fu903YpeN4DnQoEbgZtPx8KuW4eyZ/sRRxWZ
 a1JEQq29TUES7xnbPMQCSFnI+2CPQCC6Y61cxsI+RJeF2hjw/+HrF+7Kil4hI9Gk
 XlAWohymH60rVnRx9V7DLDu2E7F/D7xVd/0B//RnDp32uvQaQtxkfg4Y0cz8Ldwa
 4c3yxeGjTQinxavkePeSQOV0m5Y14ow5X4HDM72wzHjt7tcdj0EcU/Go3Y/ymkbu
 lJa6p4LpXA8QlKUBKUHztoLOoYbuCr/5A/zdc8PYS7SBCn9Zm29A+TcjPxxwRimA
 7UpgfD5xytgY7DRB5meuebXD6BvLda0cJaa9vdc7Hd8nRbbPdhGlmt5i1URPM38g
 E4jTmFMmNVzL+ngRJPBxv5CQ9R35jiOlQsAphcMObVwCCj65w3s=
 =gVFo
 -----END PGP SIGNATURE-----

Merge tag 'gpio-fixes-for-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:
 "The first fix is a backport from my v6.15-rc1 queue that turned out to
  be needed in v6.14 as well but as the former diverged from my fixes
  branch I had to adjust the patch a bit.

  The second one fixes a regression observed in user-space where closing
  a file descriptor associated with a GPIO device results in a ~10ms
  delay due to the atomic notifier calling rcu_synchronize() when
  unregistering.

  Summary:

   - don't check the return value of gpio_chip::get_direction() when
     registering a GPIO chip

   - use raw notifier for line state events"

* tag 'gpio-fixes-for-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: cdev: use raw notifier for line state events
  gpiolib: don't check the retval of get_direction() when registering a chip
2025-03-14 10:39:41 -10:00
Linus Torvalds
b1144bc7cb sound fixes for 6.14-rc7
A collection of last-minute fixes.  Most of them are for ASoC, and
 the only one core fix is for reverting the previous change, while
 the rest are all device-specific quirks and fixes, which should be
 relatively safe to apply.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmfT/QgOHHRpd2FpQHN1
 c2UuZGUACgkQLtJE4w1nLE+BRQ//R0JdsAi6QdLaFBr9djLaeD4cg4teZNAIllZH
 +DHicAcLq8c8YRZpBEtbkdNSPqQaaP1DFK+ecfBPCnMNVVNviVu31LfOkPYOeeaa
 OhcpewBoeIPbUlt2B1uvgo/sNsQVw2oNIYQLd8iwz/Qx50K2M2TdsBvdsvD94MbL
 tTADYYXexXv3zNLTPrrUH0aq6pQ+ybjiXovsN+enWTnwTTg9EDiBeiC4x0pYje1e
 pbY2ouxkKhxJR5+RFlkznSgeUZap4X63ax1yo5x5nosyEWzIX9R6PL735HTtgjXc
 Z1BcB5nxv93sbdkTivPCrF8Ttqb9vCLDdBNvK4J/oLSJzmLImEl7WNldNEYdEfad
 DeI90gNL2nQBnhCsVhu2kPw20IsLym9UNuDsu9A/tC0tVw9cTcV95xPNWhosM2ue
 y7ma+UsZQKLVgZWtLBbwHaPmXiyb0z9n/5GtVA2ZfmBih4h5pKPZ/qV7pL59zubz
 73vq8vZNaeRMJdO2wTmsfkZxvxfeh8w9AzqzDEYVMj9bsKsheDtgjGVHKE15dMbk
 Ti9YnPv0T5Hcv39ZK2vF8xNCEVfpeJt2P9449ht41gyKdVCW0BO7LCcHih7LSreL
 RiowSMa2L4+Afjali+qIWT8Kp3jTlqWDPF88Eqw+jTZF4OUSAB7JeSN3OWycrrtS
 2J52niI=
 =EmsG
 -----END PGP SIGNATURE-----

Merge tag 'sound-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "A collection of last-minute fixes.

  Most of them are for ASoC, and the only one core fix is for reverting
  the previous change, while the rest are all device-specific quirks and
  fixes, which should be relatively safe to apply"

* tag 'sound-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ASoC: cs42l43: convert to SYSTEM_SLEEP_PM_OPS
  ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx
  ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
  ASoC: rt722-sdca: add missing readable registers
  ASoC: amd: yc: Support mic on another Lenovo ThinkPad E16 Gen 2 model
  ASoC: cs42l43: Fix maximum ADC Volume
  ASoC: ops: Consistently treat platform_max as control value
  ASoC: rt1320: set wake_capable = 0 explicitly
  ASoC: cs42l43: Add jack delay debounce after suspend
  ASoC: tegra: Fix ADX S24_LE audio format
  ASoC: codecs: wsa884x: report temps to hwmon in millidegree of Celsius
  ASoC: Intel: sof_sdw: Fix unlikely uninitialized variable use in create_sdw_dailinks()
2025-03-14 10:35:39 -10:00
Linus Torvalds
ef9248676f arm64 fixes for -rc7
- Fix population of the vmemmap for regions of memory that are smaller
   than a section (128 MiB)
 
 - Fix range-based TLB over-invalidation when invoked via a MMU notifier
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmfTHq4QHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNGU4CAC6PIWBABqenvd3bDAKSndhq8oGUWGU6sxT
 XvOaIJZzTNOufe3mbLZe2B4IQryW3aRnW5Y97PX9aEdymZCz9o9FRId7nyzduRON
 kga5AzYJ0EiGQV5clXY3lh6rlcG2lnCtvc2ZJwZFKPpC5wqWbpUoRIcgVyq5Ys3E
 lDtMa4Lq9CpEfzLZeEN2e7U5FzFFPppoYl/zfLmhQDawpOlIwnH5zQLgEvjhJvg7
 gsbUdHmtIFbzAqM/JlHyOe1cks8Il39xlG0g/q1B7tw6Cr82NaQ/6HIDH82Niuwu
 m3u3N5c3JeeSTlDPuLOnvk1jNHnsxKsoizNc4YMKxdrJx1XA/kua
 =UQo9
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "The main one is a horrible macro fix for our TLB flushing code which
  resulted in over-invalidation on the MMU notifier path.

  Summary:

   - Fix population of the vmemmap for regions of memory that are
     smaller than a section (128 MiB)

   - Fix range-based TLB over-invalidation when invoked via a MMU
     notifier"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  Fix mmu notifiers for range-based invalidates
  arm64: mm: Populate vmemmap at the page level if not section aligned
2025-03-14 10:24:57 -10:00
Linus Torvalds
2eaca8a09e Fix the bootup of SEV-SNP enabled guests under VMware hypervisors.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT8ysRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1h00g//UvhUykeZOcjl1pZHsHOWupwWGzmPexLy
 I32/VJTkLq3idnz3e2g8td6Im6jPo7fU95nA7xZGB0cz3HAsvpJgeui7d8zULqcQ
 JB/BEBeBwZrxVeBZU9Dr13hQBNToayH5jBmR744njY8dEFBktbedcySTdQcWiiKX
 gFa+IIoBD4FohMahOKz2o53zFGfdXk+cQbe2e0p8qex1qcE+3HBpDcxNEKCjVLka
 Q7CvY9BuG/SUIPIu7+PXgFy2edqb8EyY6pDQJDzxO+jcn3XD/O5xsKp9zMkVostJ
 wCjPSbAb5Eac1V9mGCkVfAcElKqTllWEp8LgpYQIAuEjvPm71Du76fCr3QWC9ZbF
 btrZA2R9JSyNLE23Sflc5d2jb5dcvzUrsFMSGEjlBxsPO4AwaIZcz8MYixtA/UoD
 Oe9qd/CMvpb1Xa5q3Qrs5c0y0tEW+1ur22JQVduhnqvJNpF112bu+rWZqYeFESPP
 HOGAa/GNbrV8PzoN9gQbiQtW8U8MsN5nKT6zyy/iQmmLNJVHGFTTofvKnEYeV6Ht
 sYMF97cBHECocAzgzzs3TpW8DaIreDzAeeG5bb7171xDmcTepJfBnG46tyzNM+s6
 hcwsMiEdCQ4YLpNnWVLdY3ASx5GGTYRZfSpA2H4PxofM4b3Tp6Eqg2QWaqWQH4gW
 5Ga4oX5JOOY=
 =kKU/
 -----END PGP SIGNATURE-----

Merge tag 'x86-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fix from Ingo Molnar:
 "Fix the bootup of SEV-SNP enabled guests under VMware hypervisors"

* tag 'x86-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors
2025-03-14 10:07:16 -10:00
Linus Torvalds
a22ea738f4 Fix a sleeping-while-atomic bug caused by a recent optimization
utilizing static keys that didn't consider that the
 static_key_disable() call could be triggered in atomic context.
 
 Revert the optimization.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT8m4RHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1h8IRAAlvqGw8HmdN5VGdco95ejRK8zdPLWQFvI
 m7FvjSZu5ciZrxz72QVmpIoprfNSb7WiYFhrVi7x6qIHgc/g9frIWxRP/OnXsMSg
 hWAHystWPVrLirD6lN46nOKvVaqaACa6NyndNnwGtLEwTyf3Rc87XU/gRjiCwCBG
 hFt7HAEbgSi0YnKcPm79Le0Es33ZfH1Z47LSOSLlEyZbp+dcoliOzveJmbxhcfTM
 3yUO9HtoFRKsUbDZCYHE/ZWgDJbaGNPokwHf9XMSFrWbTXPHxvJvKgZKMfaN+rtr
 NKXzDvUW7D3Au3KHrBk39TcBZMkAKLnnze5RV8xAurKzMZBRWD7ybKetzeMt8gzg
 os/Ge9M5AxldiuPxK8s8S+X+L5tQ/uNwzbQEaC0w4ouH3ZBjgoHTWNJM6Lpwpl42
 3c+zBC+2TdC2dDj0elL2Z34T6X6FiHMoBHOIKaTvX7Lh5G4lTLC9+GIBAt/vSAFv
 vqpo3Bc61qq2jgpnmWRVVfvHKrvA7dvfvId0oE8JQfGB446glLlEKJ7Dyn65NJp6
 9rc2wPAAs+oaaxi47p94CKwBvYzyKkMXSnyB5WXQJOk4O6QD7uv9qGXHzy+8gAom
 QAFTJGpTr7mnXcu/ZOdGGBqoq5Kcbvf15SnnkYqduE0f/omoW+BqgEyGxvbP+qsV
 /7D7ZCXbyk0=
 =fXc6
 -----END PGP SIGNATURE-----

Merge tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Ingo Molnar:
 "Fix a sleeping-while-atomic bug caused by a recent optimization
  utilizing static keys that didn't consider that the
  static_key_disable() call could be triggered in atomic context.

  Revert the optimization"

* tag 'sched-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/clock: Don't define sched_clock_irqtime as static key
2025-03-14 09:56:46 -10:00
Linus Torvalds
28c50999c9 Miscellaneous fixes:
- Restrict the Rust runtime from unintended access
    to dynamically allocated LockClassKeys
 
  - KernelDoc annotation fix
 
  - Fix a lock ordering bug in semaphore::up(), related
    to trying to printk() and wake up the console
    within critical sections
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT8UwRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1h0PQ//UsdUP6lNHcm7VLDWxvWiESe6J6VuzBMF
 y8XU0YumFO+nwgiRNv0Itny1RGV075/Xe6BwUI2ftF234cfVK1O/qAwt+a2tQ9pd
 7NCoCKyXX6iQseRECYqDxFw5TqCWikpdx5oPaMAy03G3Ig/skr1JBalSukoeedO9
 M57YcWSfmqn+NeevfaNwUygFN7smFHPJSQqWGbefU/Wj7bGynNA4eH9I4xubMMXZ
 Q5jWfeM5zvp5rhIf9Gf22j9SjAiE+ePZKAN57t3tMmNYTIPqLebzlKpCy3XWReUr
 pONSWSZHlwTIJVPfH7f04Y6/198PHtQ1urtbcPnM/8PIh2UW7/8OESkZvtkTswfU
 INiFx5baWtyjU8UosJFgUnlZeaVYAdBsdv7C8Ngng7aXmiJvAYOnIDTDgYIirPSN
 5LOO55mLBylASNC+6NYtp/AFBQshKgKACCQsWuguvqVS5Xok+LuHIu5s9LWKRWM8
 Og1nRAczbQIKRCrHGkQIW/TisWAZLvqiw8u9aqmYsO/KuNNELqcibpPSkxZ4h0c+
 T+ssvZ+c7qe3luZKbjJ16kl7Uk1OJK5s5Tk68LHsBLrRu/oOAFsuWwfnwwxiGPdg
 6JPoMPng7bRUFtKDAS3o/ux4eGuGMCup1N29+HqcBRAkW8UCdvmfvbK01MDttaaC
 1cc2MelHHUU=
 =8KVL
 -----END PGP SIGNATURE-----

Merge tag 'locking-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc locking fixes from Ingo Molnar:

 - Restrict the Rust runtime from unintended access to dynamically
   allocated LockClassKeys

 - KernelDoc annotation fix

 - Fix a lock ordering bug in semaphore::up(), related to trying to
   printk() and wake up the console within critical sections

* tag 'locking-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking/semaphore: Use wake_q to wake up processes outside lock critical section
  locking/rtmutex: Use the 'struct' keyword in kernel-doc comment
  rust: lockdep: Remove support for dynamically allocated LockClassKeys
2025-03-14 09:41:36 -10:00
Linus Torvalds
70e23dda38 Fix a Sparse false positive warning triggered by no_free_ptr().
Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmfT76kRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1gsoxAAhtbIhiQ04vFVW3xjb7E9h7HN2+w8uWNs
 /5WIQO5QC7cKBmLiAAUg9ZexAlPOFNY4Lab5zOFED0rhQiHZazO8scGS9qCURnTM
 1/Z7SPAovlnYUW6mPlXLPWsdNnOWDZzjPESWUR6tuRCmvuuHVZs68dMQO0tzk5cu
 FBQQF1v8p3zyOx+jRpJyZG59UVAPKV1dCD2B9J747PV/24wgE5R5k1kor5438agu
 Eoon+aDPhCcTjSYYy+CQMJJp00TnmetTxnkKoaDzvNNC29arNniut3IDde59kVFt
 oCRSnfmSn70BWpt8ST1SLHLVqUtxhlIg5J77GtLySgwuX+pNR8kLqZB4DGf2CFim
 Jg9R7qSuE5FSi+JHGYdW+XQXMW7GeIXL63kSrtvsaDQ19Ia64W3wGBxg81rtiDqo
 fvqtnBqLxqnFefUw3QV8FMLq7t791g6jy/SzezhcQjHwxqm2icxNaWdv+s8NFu8x
 cMWjPI1Es+XE524+QjG7bhtkh9cY5c7ETMUNf9RF/CbN2HOajcGJdp7EPwXfi8Wc
 JTR4fKG3r7le+Rlzt0dKdga43qicInChcKmR9kIUyIVs1hhEfcNiPU28aft8XcJW
 HYTMf7cbPLqqXKTyjZZZ2pGtUpzUIuEw9B75dZ9gTs4qSTWBVDIPCm0q+q/Rfw/W
 QzxUrI4lwGQ=
 =YI/J
 -----END PGP SIGNATURE-----

Merge tag 'core-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull core fix from Ingo Molnar:
 "Fix a Sparse false positive warning triggered by no_free_ptr()"

* tag 'core-urgent-2025-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  <linux/cleanup.h>: Allow the passing of both iomem and non-iomem pointers to no_free_ptr()
2025-03-14 09:12:28 -10:00
Kent Overstreet
90fd9ad5b0 bcachefs: Change btree wb assert to runtime error
We just had a report of the assert for "btree in write buffer for
non-write buffer btree" popping during the 6.14 upgrade.

- 150TB filesystem, after a reboot the upgrade was able to continue from
  where it left off, so no major damage.

But with 6.14 about to come out we want to get this tracked down asap,
and need more data if other users hit this.

Convert the BUG_ON() to an emergency read-only, and print out btree, the
key itself, and stack trace from the original write buffer update (which
did not have this check before).

Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-14 10:25:25 -04:00
Ike Panhc
03fc0a2dc9
MAINTAINERS: Update Ike Panhc's email address
I am no longer at Canonical and update with my personal email address.

Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Link: https://lore.kernel.org/r/20250314045732.389973-1-ike.pan@canonical.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-03-14 16:03:45 +02:00
Linus Torvalds
695caca934 - Fix NULL pointer in STMicroelectronics LED1202 LED support
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmfT5twACgkQUa+KL4f8
 d2Er2w//Zm+7YyDI08IT+szh+IUVfiEFJFkIuW1fS1js+NKi7rlBszos+mrRRwXQ
 E098W+ARQ9RB+Cr9IKPhb7fNhWNx3Pepdtb66UUXjvGTdM/gsmvx8a/frneOcFxO
 qO2Mn97+kB3I0/FegvsAuk1/EFvE0h0a6c2LY92CGOSb20VbRAZv4l7DJW+qyHY0
 yZcQP0OLwE9gtlPdUxVBXORlUMyhznuTtC8T8x5YeGRlsiybrcpiLsWDSQWZBVAy
 mAWJhytFfvkm5Pd/J28UbSAEWJjqheddyraEv/cZo3NBbgZIK9evCzJSQqhHxCfb
 lhue3EVj8cU/d/i/QROmGVb/OdPC2tklmdWSTnLhwpo05yN6NhEMy1fcxmBsGKjP
 dx4AR9nx9luXM6raG4D/5Pe/CnB4AsrAn7KcMjHkrTFrn3QGT7fsLZkJw7felrtB
 1BMNYQ06qfEJbOrmP+C66+QKv4HoBFVFO8zrAoh1YTuXMg4Wn8OB7Yskyw4KCCAO
 tjv0FzZCbJU/oTAfsAMIrL8NPRHjp6B4zRhTc4k9CwbqVL7LkqHehkZL1nmqFxXV
 et2PbT4HO8NSBaJ9/CaqCbqFlUKWiu0dEHrF2pR0r3wyljeXUcUm1fY4lGNLVVQF
 Z9rLXPfNENUB5yY7hGHGkwEmbIux19flhA21HaUH2N+A9qUK5XE=
 =MOcN
 -----END PGP SIGNATURE-----

Merge tag 'leds-fixes-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds

Pull LED fix from Lee Jones:

 - Fix NULL pointer in STMicroelectronics LED1202 LED support

* tag 'leds-fixes-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
  leds: leds-st1202: Fix NULL pointer access on race condition
2025-03-13 22:52:52 -10:00
Linus Torvalds
00ddc3f951 drm fixes for 6.14-rc7
panic:
 - two clippy fixes
 
 dp_mst
 - locking fix
 
 atomic:
 - fix redundant DPMS calls
 
 i915:
 - Do cdclk post plane programming later
 - Bump MMAP_GTT_VERSION: missing indication of partial mmaps support
 
 xe:
 - Release guc ids before cancelling work
 - Fix new warnings around userptr
 - Temporaritly disable D3Cold on BMG
 - Retry and wait longer for GuC PC to start
 - Remove redundant check in xe_vm_create_ioctl
 
 amdgpu:
 - GC 12.x DCC fix
 - DC DCE 6.x fix
 - Hibernation fix
 - HPD fix
 - Backlight fixes
 - Color depth fix
 - UAF fix in hdcp_work
 - VCE 2.x fix
 - GC 12.x PTE fix
 
 amdkfd:
 - Queue eviction fix
 
 gma500:
 - fix NULL pointer check
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmfT1cMACgkQDHTzWXnE
 hr4NKxAAgypYRV6TrlBwaHFFOcj9G/bd2ozNCtnG2AGSApzLdQSvzXSFhq0qSsuu
 sdWpxFlDRI4EzNxZlG56FRqdRlE7zQOtiptCsHmZkCblpSanogGW/sWw2pldgi9i
 vJE/1OWZ/YqiEJT7m1Fy/2n2ugaWVvZlm6scM/WBaPCS7g2HexZ8/gjLUgIVnjxd
 FQCAzPhtShiiwnyFuinwoQz1iBjIFBr37W1Y772x6JqauLQuPM8a8A1ORt+T/gr1
 tkO1XlTMenyQwVVahswZYiBrjwkv2l/uZZEZ+QCOxHI7F/9lue4NkKDB9bML7uYd
 NAhaFTTO+HDW0DzRHTORzGgkqqk4GEn1VgkmB9LmoUHpdRww97MIZl5cgRfYMVIG
 ZkyUuuCaL6CYDkB09tbl1Xxb4WpJY83SNOwImSQ+sBPwMje0/NP6UjNv7dbWl2B+
 2UcUBLuzWUgeQG951XUwwUlumRbcLsm9jQ+eYlwNwBUFVrgulnpOcUVDIssHqYVa
 BwY1nqdQHimtWd/DstDztPEyrU040IavIdQRCVtYNK6bG1364yNVVWfY+KgvaMY8
 2b96x0waAQwbv1anLijHLnjRgyyV0vVjep7IJrV1g9AlDesAD9E/i9BpRalYGLB0
 gr+xStNoNkBs4GjFK7kMF8JRKP7MAeqga+Wi00y54FPVt1hqyGo=
 =ojro
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2025-03-14' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Regular weekly fixes pull, the usual leaders in amdgpu/xe, a couple of
  i915, and some scattered misc fixes.

  panic:
   - two clippy fixes

  dp_mst
   - locking fix

  atomic:
   - fix redundant DPMS calls

  i915:
   - Do cdclk post plane programming later
   - Bump MMAP_GTT_VERSION: missing indication of partial mmaps support

  xe:
   - Release guc ids before cancelling work
   - Fix new warnings around userptr
   - Temporaritly disable D3Cold on BMG
   - Retry and wait longer for GuC PC to start
   - Remove redundant check in xe_vm_create_ioctl

  amdgpu:
   - GC 12.x DCC fix
   - DC DCE 6.x fix
   - Hibernation fix
   - HPD fix
   - Backlight fixes
   - Color depth fix
   - UAF fix in hdcp_work
   - VCE 2.x fix
   - GC 12.x PTE fix

  amdkfd:
   - Queue eviction fix

  gma500:
   - fix NULL pointer check"

* tag 'drm-fixes-2025-03-14' of https://gitlab.freedesktop.org/drm/kernel: (23 commits)
  drm/amdgpu: NULL-check BO's backing store when determining GFX12 PTE flags
  drm/amd/amdkfd: Evict all queues even HWS remove queue failed
  drm/i915: Increase I915_PARAM_MMAP_GTT_VERSION version to indicate support for partial mmaps
  drm/dp_mst: Fix locking when skipping CSN before topology probing
  drm/amdgpu/vce2: fix ip block reference
  drm/amd/display: Fix slab-use-after-free on hdcp_work
  drm/amd/display: Assign normalized_pix_clk when color depth = 14
  drm/amd/display: Restore correct backlight brightness after a GPU reset
  drm/amd/display: fix default brightness
  drm/amd/display: Disable unneeded hpd interrupts during dm_init
  drm/amd: Keep display off while going into S4
  drm/amd/display: fix missing .is_two_pixels_per_container
  drm/amdgpu/display: Allow DCC for video formats on GFX12
  drm/xe: remove redundant check in xe_vm_create_ioctl()
  drm/atomic: Filter out redundant DPMS calls
  drm/xe/guc_pc: Retry and wait longer for GuC PC start
  drm/xe/pm: Temporarily disable D3Cold on BMG
  drm/i915/cdclk: Do cdclk post plane programming later
  drm/xe/userptr: Fix an incorrect assert
  drm/xe: Release guc ids before cancelling work
  ...
2025-03-13 22:45:25 -10:00
Dave Airlie
d1d77326f5 - Release guc ids before cancelling work (Tejas)
- Fix new warnings around userptr (Thomas)
 - Temporaritly disable D3Cold on BMG (Rodrigo)
 - Retry and wait longer for GuC PC to start (Rodrigo)
 - Remove redundant check in xe_vm_create_ioctl (Xin)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEbSBwaO7dZQkcLOKj+mJfZA7rE8oFAmfTB3EACgkQ+mJfZA7r
 E8pkoAgAui5ItatSInI77C15ajI1Mn4kVVu95Pus+rz8pj4NDpWPVwo9dIySjp+h
 BIwDFLzpi9aEAYKT81JmXp6KDtqQDv+pyBzw/hVdMT47hP5nOJax1j6uAa7gAaXB
 KxvMmHP2p4N917n6oUg8tOM0rPrY/GjXRkPETjD3snJ1gP0kqj4xDOWupkU51fec
 Mk+PI+o67fnDFTMZziHNS0BS3MdXGi6uEldNAzm2s6xgoIGwIv2Gl2Sm8uTNxEqY
 olo03ssQGO3NKh78J/laoNEendcKG+aarwt3h7WQhAgx0P1asjn1F2pFX0nNKpyJ
 Y1SRMu+g6lzozo3I1tCB3BaIJ/1XEQ==
 =1WN7
 -----END PGP SIGNATURE-----

Merge tag 'drm-xe-fixes-2025-03-13' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes

- Release guc ids before cancelling work (Tejas)
- Fix new warnings around userptr (Thomas)
- Temporaritly disable D3Cold on BMG (Rodrigo)
- Retry and wait longer for GuC PC to start (Rodrigo)
- Remove redundant check in xe_vm_create_ioctl (Xin)

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/Z9MJWeIlZPuvXZ_G@intel.com
2025-03-14 13:42:17 +10:00
Dave Airlie
c8a74954cd - Do cdclk post plane programming later (Ville)
- Bump MMAP_GTT_VERSION: missing indication of partial mmaps support (Jose)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEbSBwaO7dZQkcLOKj+mJfZA7rE8oFAmfTBkIACgkQ+mJfZA7r
 E8rW1ggAhGlmBcj/QQnJYkha5l5OuRsF+O9n/pae6m8LkGeGMCEUY2mt7scxCQXw
 RJ2AYfV+kyZYFsY5GkrQWUSXhYUBfaLAgZmyd3VuSihvf/jU7Dk7X7xxTlHOC+vT
 tESLkoy8j4kPB6IbtN8sVo+TugQOJZix+ok7zLZK/l2lvU66Cd7VY8nZL8EuhGeP
 GeNXGL5xtdpx9+F0dhNu7+0spAEBjlJSW5mhT8/mYg5G397/GTUoi6hFKt+MjBwR
 XcRNy5VLMZHc1J8dexylTZ/MdPVqqSKpIfthAesGVSu2b7v/lljhFeFGOrnYuc1T
 MLrnS+MqH5Q3DFbJAM8ljD3IXt7aKA==
 =kAbt
 -----END PGP SIGNATURE-----

Merge tag 'drm-intel-fixes-2025-03-13' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes

- Do cdclk post plane programming later (Ville)
- Bump MMAP_GTT_VERSION: missing indication of partial mmaps support (Jose)

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/Z9MG4fH-6Q8dTHE1@intel.com
2025-03-14 12:30:49 +10:00
Linus Torvalds
e3a854b577 A few clk driver fixes for Samsung and Qualcomm clk drivers
- Suspend on Google GS101 crashes when trying to save some clk
    registers that we shouldn't be saving so we don't do that anymore
 
  - The PLL lock time was wrong on the Tesla FSD which could lead to the
    PLL never locking
 
  - Qualcomm's display clk controller on SM8750 was trying to change the
    frequency of a parent clk for the DSI device when it should have
    stopped and adjusted the divider. The failure is that the clk
    frequency was half what was expected, leading to broken display.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmfTfQYRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSW2YBAArHpBcdJKRhm+8QO1KDSR0wB09t/nxbTY
 MUsGh1hnPKaPXHWgQO6uwb6jM/Zw+bNabhmo2DhGn4tT9dRHH9CD3JQ2KNYybC0R
 /VCxd0M8Smr4DZAWd0F0VQPIbRO72eGI9jBT8mg59RJGmslNkThkBBBDXB5FNoyN
 X0FZCOY4qbNtI+kJL28CdTFTIgESGBWJKjYVX3GUbKyZGL2z8RwY9OziqQQIeSqV
 AAypiMgLw9gTPz+wlDx0z04ulehe0xJcyV9+69pIpdGlio4SgL+kfSvgcVttAPqY
 /h4ZXBL/FWUNhOhyo4CmU+kWyxD81sqvHmBqCksSVuH+Y0w3SQ9KDREiv2nuIc5K
 TVOkjNJk0Ts6XtIrm8E8r9WNed9tWZfOZPLAfUt1PUVzXWQR9Hnat+jiETKXWbor
 pEQR8vNxFq7z5i4vlytMu1FN1/3N9G+ppB+c/GhImV33IWnybzVaep/+wjj0Pdw+
 bxSRhcHsjBJfEp+PCzzJbXj5AY0ozWy5hoENtX1uJCesrE/JLMErFx2hQkIXD7WI
 9d20Nf23OngietozL77NCQ46KkqGij2TyhtHm3apiPK7wEjNmQbBFwU6i0Yjfyf7
 BtdMGbxQ6s5ny54GbOrXte+jol47njOQGL2BBUp0v6lAIXzLY2E8pStNYU1D8Icw
 o5WH0PPlyt8=
 =bKlG
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk fixes from Stephen Boyd:
 "A few clk driver fixes for Samsung and Qualcomm clk drivers:

   - Suspend on Google GS101 crashes when trying to save some clk
     registers that we shouldn't be saving so we don't do that anymore

   - The PLL lock time was wrong on the Tesla FSD which could lead to
     the PLL never locking

   - Qualcomm's display clk controller on SM8750 was trying to change
     the frequency of a parent clk for the DSI device when it should
     have stopped and adjusted the divider. The failure is that the clk
     frequency was half what was expected, leading to broken display"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: samsung: update PLL locktime for PLL142XX used on FSD platform
  clk: samsung: gs101: fix synchronous external abort in samsung_clk_save()
  clk: qcom: dispcc-sm8750: Drop incorrect CLK_SET_RATE_PARENT on byte intf parent
2025-03-13 15:34:26 -10:00
Linus Torvalds
131c040bbb bcachefs fixes for 6.14-rc7
Roxana caught an unitialized value that might explain some of the
 rebalance weirdness we're still tracking down - cool.
 
 Otherwise pretty minor.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmfTX2wACgkQE6szbY3K
 bna/lQ//V6zmWnPTDXt46ztAeOTucFgfIivevH1fznSEMqkxFYJVdjtHscYcO8SJ
 GRYeNaz4ioKxMIcz5OU32uES/hXeOgwc43wxkWud3O8P0IkRIsLDYth9ejbOn1lf
 U0jPC0DMNLqeVi8PrmnQM6QdV6BwUHAay6v8HB830QGhMq7S+ajl5F2F0irk4Fpn
 YLE+m1CG14G+8ckxNcfkwjV1uh/0kt/aWX9Oii2MH0pH81ycug8B/Ld2RCs/31SN
 9kopfcTsPx4oVJ8D3WrhnPl5R79l7qTa5h1ahiBu2Y/V3wfmTf5GAxESZrXInOgd
 bU1Q+LQfq9semgiztXUESkcsFVkk5UEflAlm/zf0DauCjJUwZ18e/nogz6gRLfA7
 HXZJvSWkTFnKoddJySSXeZFUXLqS2uGykJJS+Fl7NQCvUM2WztaGkNc8Aw4engfZ
 l3/6iaT3mSYHJkNWdtQuFo0tm+YAAF5yYXmho2oH/CX8uH8t4fSSqUL7sy876p52
 BOj+RMX8ErviwBUwt0cfz40AGtPiCQcuvv5TSvRoiYas1ItIo5fjlX+RCK4Z7/GI
 MdHMC8tFbMQkGvHdFyaRe3nP72Jp4+zpU7jsx+hqs/wYgKD8S1j3uBgq9LD8qMLV
 Ikt08CWtVUIR93dKbqlK8pFkkLNj6rwn+CQFCxm34W03Y3LctRc=
 =Li6S
 -----END PGP SIGNATURE-----

Merge tag 'bcachefs-2025-03-13' of git://evilpiepirate.org/bcachefs

Pull bcachefs fixes from Kent Overstreet:
 "Roxana caught an unitialized value that might explain some of the
  rebalance weirdness we're still tracking down - cool.

  Otherwise pretty minor"

* tag 'bcachefs-2025-03-13' of git://evilpiepirate.org/bcachefs:
  bcachefs: bch2_get_random_u64_below()
  bcachefs: target_congested -> get_random_u32_below()
  bcachefs: fix tiny leak in bch2_dev_add()
  bcachefs: Make sure trans is unlocked when submitting read IO
  bcachefs: Initialize from_inode members for bch_io_opts
  bcachefs: Fix b->written overflow
2025-03-13 15:10:59 -10:00
Dave Airlie
d703575ade A null pointer check for gma500, two clippy fixes for panic, a fix for
an interaction between DPMS and atomic leading to dropped frames, and
 a locking fix  for dp_mst
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZ9KK6QAKCRDj7w1vZxhR
 xf6AAQCH0DwU7ymzHStkJRP7HbBWG9vibLkWzWQ4QDZTv+v7mwD+Mvl3n0C1DqWc
 FDimBS+tYU0p6ltZ8vnyjHksFyKxXQA=
 =aytA
 -----END PGP SIGNATURE-----

Merge tag 'drm-misc-fixes-2025-03-13' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes

A null pointer check for gma500, two clippy fixes for panic, a fix for
an interaction between DPMS and atomic leading to dropped frames, and
a locking fix  for dp_mst

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Maxime Ripard <mripard@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250313-holistic-clay-moose-fead28@houat
2025-03-14 11:09:40 +10:00
Dave Airlie
385b64321c amd-drm-fixes-6.14-2025-03-12:
amdgpu:
 - GC 12.x DCC fix
 - DC DCE 6.x fix
 - Hibernation fix
 - HPD fix
 - Backlight fixes
 - Color depth fix
 - UAF fix in hdcp_work
 - VCE 2.x fix
 - GC 12.x PTE fix
 
 amdkfd:
 - Queue eviction fix
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQgO5Idg2tXNTSZAr293/aFa7yZ2AUCZ9HbLgAKCRC93/aFa7yZ
 2ANhAQC/WwKW84Me4z7ctLZgxpu+bLsMAVGelvf7BxFbKxEm4gD+INlGbaxDTcKM
 zwoXQ1fPTa2kkalWbK48kpDtg1M2xQ4=
 =+yFd
 -----END PGP SIGNATURE-----

Merge tag 'amd-drm-fixes-6.14-2025-03-12' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes

amd-drm-fixes-6.14-2025-03-12:

amdgpu:
- GC 12.x DCC fix
- DC DCE 6.x fix
- Hibernation fix
- HPD fix
- Backlight fixes
- Color depth fix
- UAF fix in hdcp_work
- VCE 2.x fix
- GC 12.x PTE fix

amdkfd:
- Queue eviction fix

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250312190931.216506-1-alexander.deucher@amd.com
2025-03-14 09:17:33 +10:00
Ajay Kaher
a2ab25529b x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors
Under VMware hypervisors, SEV-SNP enabled VMs are fundamentally able to boot
without UEFI, but this regressed a year ago due to:

  0f4a1e8098 ("x86/sev: Skip ROM range scans and validation for SEV-SNP guests")

In this case, mpparse_find_mptable() has to be called to parse MP
tables which contains the necessary boot information.

[ mingo: Updated the changelog. ]

Fixes: 0f4a1e8098 ("x86/sev: Skip ROM range scans and validation for SEV-SNP guests")
Co-developed-by: Ye Li <ye.li@broadcom.com>
Signed-off-by: Ye Li <ye.li@broadcom.com>
Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Ye Li <ye.li@broadcom.com>
Reviewed-by: Kevin Loughlin <kevinloughlin@google.com>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20250313173111.10918-1-ajay.kaher@broadcom.com
2025-03-13 19:01:09 +01:00
Linus Torvalds
4003c9e787 Including fixes from netfilter, bluetooth and wireless.
No known regressions outstanding.
 
 Current release - regressions:
 
   - wifi: nl80211: fix assoc link handling
 
   - eth: lan78xx: sanitize return values of register read/write functions
 
 Current release - new code bugs:
 
   - ethtool: tsinfo: fix dump command
 
   - bluetooth: btusb: configure altsetting for HCI_USER_CHANNEL
 
   - eth: mlx5: DR, use the right action structs for STEv3
 
 Previous releases - regressions:
 
   - netfilter: nf_tables: make destruction work queue pernet
 
   - gre: fix IPv6 link-local address generation.
 
   - wifi: iwlwifi: fix TSO preparation
 
   - bluetooth: revert "bluetooth: hci_core: fix sleeping function called from invalid context"
 
   - ovs: revert "openvswitch: switch to per-action label counting in conntrack"
 
   - eth: ice: fix switchdev slow-path in LAG
 
   - eth: bonding: fix incorrect MAC address setting to receive NS messages
 
 Previous releases - always broken:
 
   - core: prevent TX of unreadable skbs
 
   - sched: prevent creation of classes with TC_H_ROOT
 
   - netfilter: nft_exthdr: fix offset with ipv4_find_option()
 
   - wifi: cfg80211: cancel wiphy_work before freeing wiphy
 
   - mctp: copy headers if cloned
 
   - phy: nxp-c45-tja11xx: add errata for TJA112XA/B
 
   - eth: bnxt: fix kernel panic in the bnxt_get_queue_stats{rx | tx}
 
   - eth: mlx5: bridge, fix the crash caused by LAG state check
 
 Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEg1AjqC77wbdLX2LbKSR5jcyPE6QFAmfS+yMSHHBhYmVuaUBy
 ZWRoYXQuY29tAAoJECkkeY3MjxOknd8P/3XdIaDXrwVl9BSi37qToRs40i+6qPep
 5MZN+wakJkuHQqooADF/UarqHWEtQwFOTJalgsPbrUpsespA0lhmzSRHsk+2Xy//
 8o8RuZ2VngN1/UVBaoXb0QOY28CgtDs0SdW6/jST/dEp3bHvW+ZTDR2aaivKAWtJ
 gdWIWR+Ctw1lpetKJer3loPXjPd2doDedSlf64CiHw7dRFTwiE2AcrTRkYdd18Ml
 HJjiBkqKMnUTxqWxOU3GJxdl7Qru7CvAfn3XQ0PjCO9hADPJb/uWZDRENauk3/jE
 6lJc+EP5AoG3Ce8MLzHr/aayZR3YtyhJ2TaWmyPbe6BJq7tPH84ydKMZnF7UnOd5
 Jp4T6rykkJOYnUdiYGiOPHcTxQxUugKUrL3rNvGJep+x3JAi/DJJkHNWEx+EBB55
 3YbDTOUiY1bCGOoGJIZRwNzw52O0+7qINvCtAN21sMu4pKr/nYMzO8L9ldFExllj
 EuOcxr813V09NyoJs+wWcy9FdlVmcPwCsT4Pylrdb+mA1XohPzMwibH3yHk4XCZ6
 Aijz5Bb78i4vg+kZzNZmVY11J5yL0/eC8DefMgUe3+JKwyM2TiSn5hHK6tYbTLtM
 yAjbTkeu/FD6alSRAnIAL+YBHg4ri3fXXjU4vLZA5n3wWIjfqpL7JAFgnK57Bd8Z
 1X5k+52VjQzj
 =lIrc
 -----END PGP SIGNATURE-----

Merge tag 'net-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Paolo Abeni:
 "Including fixes from netfilter, bluetooth and wireless.

  No known regressions outstanding.

  Current release - regressions:

   - wifi: nl80211: fix assoc link handling

   - eth: lan78xx: sanitize return values of register read/write
     functions

  Current release - new code bugs:

   - ethtool: tsinfo: fix dump command

   - bluetooth: btusb: configure altsetting for HCI_USER_CHANNEL

   - eth: mlx5: DR, use the right action structs for STEv3

  Previous releases - regressions:

   - netfilter: nf_tables: make destruction work queue pernet

   - gre: fix IPv6 link-local address generation.

   - wifi: iwlwifi: fix TSO preparation

   - bluetooth: revert "bluetooth: hci_core: fix sleeping function
     called from invalid context"

   - ovs: revert "openvswitch: switch to per-action label counting in
     conntrack"

   - eth:
       - ice: fix switchdev slow-path in LAG
       - bonding: fix incorrect MAC address setting to receive NS
         messages

  Previous releases - always broken:

   - core: prevent TX of unreadable skbs

   - sched: prevent creation of classes with TC_H_ROOT

   - netfilter: nft_exthdr: fix offset with ipv4_find_option()

   - wifi: cfg80211: cancel wiphy_work before freeing wiphy

   - mctp: copy headers if cloned

   - phy: nxp-c45-tja11xx: add errata for TJA112XA/B

   - eth:
       - bnxt: fix kernel panic in the bnxt_get_queue_stats{rx | tx}
       - mlx5: bridge, fix the crash caused by LAG state check"

* tag 'net-6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (65 commits)
  net: mana: cleanup mana struct after debugfs_remove()
  net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices
  net/mlx5: Bridge, fix the crash caused by LAG state check
  net/mlx5: Lag, Check shared fdb before creating MultiPort E-Switch
  net/mlx5: Fix incorrect IRQ pool usage when releasing IRQs
  net/mlx5: HWS, Rightsize bwc matcher priority
  net/mlx5: DR, use the right action structs for STEv3
  Revert "openvswitch: switch to per-action label counting in conntrack"
  net: openvswitch: remove misbehaving actions length check
  selftests: Add IPv6 link-local address generation tests for GRE devices.
  gre: Fix IPv6 link-local address generation.
  netfilter: nft_exthdr: fix offset with ipv4_find_option()
  selftests/tc-testing: Add a test case for DRR class with TC_H_ROOT
  net_sched: Prevent creation of classes with TC_H_ROOT
  ipvs: prevent integer overflow in do_ip_vs_get_ctl()
  selftests: netfilter: skip br_netfilter queue tests if kernel is tainted
  netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()
  wifi: mac80211: fix MPDU length parsing for EHT 5/6 GHz
  qlcnic: fix memory leak issues in qlcnic_sriov_common.c
  rtase: Fix improper release of ring list entries in rtase_sw_reset
  ...
2025-03-13 07:58:48 -10:00
Kent Overstreet
57e9417f69 dm-flakey: Fix memory corruption in optional corrupt_bio_byte feature
Fix memory corruption due to incorrect parameter being passed to bio_init

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org	# v6.5+
Fixes: 1d9a943898 ("dm flakey: clone pages on write bio before corrupting them")
2025-03-13 18:54:11 +01:00
Linus Torvalds
8f7617f450 vfs-6.14-rc7.fixes
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCZ9Ke9AAKCRCRxhvAZXjc
 ojQQAQC8JuVU5KbdbARMd/gylAEd7YrSHQv/KVfLAP3p0CQkNwEAx0t0bERUa+pt
 V5+7YS+HY2hcvFW6GbO/MJvfiSuXxA0=
 =9aCX
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.14-rc7.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs

Pull vfs fixes from Christian Brauner:

 - Bring in an RCU pathwalk fix for afs. This is brought in as a merge
   from the vfs-6.15.shared.afs branch that needs this commit and other
   trees already depend on it.

 - Fix vboxfs unterminated string handling.

* tag 'vfs-6.14-rc7.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs:
  vboxsf: Add __nonstring annotations for unterminated strings
  afs: Fix afs_atcell_get_link() to handle RCU pathwalk
2025-03-13 07:53:25 -10:00
Kent Overstreet
9c18ea7ffe bcachefs: bch2_get_random_u64_below()
steal the (clever) algorithm from get_random_u32_below()

this fixes a bug where we were passing roundup_pow_of_two() a 64 bit
number - we're squaring device latencies now:

[  +1.681698] ------------[ cut here ]------------
[  +0.000010] UBSAN: shift-out-of-bounds in ./include/linux/log2.h:57:13
[  +0.000011] shift exponent 64 is too large for 64-bit type 'long unsigned int'
[  +0.000011] CPU: 1 UID: 0 PID: 196 Comm: kworker/u32:13 Not tainted 6.14.0-rc6-dave+ #10
[  +0.000012] Hardware name: ASUS System Product Name/PRIME B460I-PLUS, BIOS 1301 07/13/2021
[  +0.000005] Workqueue: events_unbound __bch2_read_endio [bcachefs]
[  +0.000354] Call Trace:
[  +0.000005]  <TASK>
[  +0.000007]  dump_stack_lvl+0x5d/0x80
[  +0.000018]  ubsan_epilogue+0x5/0x30
[  +0.000008]  __ubsan_handle_shift_out_of_bounds.cold+0x61/0xe6
[  +0.000011]  bch2_rand_range.cold+0x17/0x20 [bcachefs]
[  +0.000231]  bch2_bkey_pick_read_device+0x547/0x920 [bcachefs]
[  +0.000229]  __bch2_read_extent+0x1e4/0x18e0 [bcachefs]
[  +0.000241]  ? bch2_btree_iter_peek_slot+0x3df/0x800 [bcachefs]
[  +0.000180]  ? bch2_read_retry_nodecode+0x270/0x330 [bcachefs]
[  +0.000230]  bch2_read_retry_nodecode+0x270/0x330 [bcachefs]
[  +0.000230]  bch2_rbio_retry+0x1fa/0x600 [bcachefs]
[  +0.000224]  ? bch2_printbuf_make_room+0x71/0xb0 [bcachefs]
[  +0.000243]  ? bch2_read_csum_err+0x4a4/0x610 [bcachefs]
[  +0.000278]  bch2_read_csum_err+0x4a4/0x610 [bcachefs]
[  +0.000227]  ? __bch2_read_endio+0x58b/0x870 [bcachefs]
[  +0.000220]  __bch2_read_endio+0x58b/0x870 [bcachefs]
[  +0.000268]  ? try_to_wake_up+0x31c/0x7f0
[  +0.000011]  ? process_one_work+0x176/0x330
[  +0.000008]  process_one_work+0x176/0x330
[  +0.000008]  worker_thread+0x252/0x390
[  +0.000008]  ? __pfx_worker_thread+0x10/0x10
[  +0.000006]  kthread+0xec/0x230
[  +0.000011]  ? __pfx_kthread+0x10/0x10
[  +0.000009]  ret_from_fork+0x31/0x50
[  +0.000009]  ? __pfx_kthread+0x10/0x10
[  +0.000008]  ret_from_fork_asm+0x1a/0x30
[  +0.000012]  </TASK>
[  +0.000046] ---[ end trace ]---

Reported-by: Roland Vet <vet.roland@protonmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-13 12:40:22 -04:00
Kent Overstreet
69a5a13a22 bcachefs: target_congested -> get_random_u32_below()
get_random_u32_below() has a better algorithm than bch2_rand_range(),
it just didn't exist at the time.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-13 12:39:21 -04:00
Jens Axboe
a9381351dd nvme fixes for Linux 6.14
- Concurrent pci error and hotplug handling fix (Keith)
  - Endpoint function fixes (Damien)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE3Fbyvv+648XNRdHTPe3zGtjzRgkFAmfS+cUACgkQPe3zGtjz
 RgnzihAAueLu74ZbBvpeDX/MktqK7VyNf7eFoSi10lc92kqFux88efzq9q6mS+pG
 EJkfPjULJj6C080V1C90+GEVfZFgKCXHQ+0EjPmvYqr7J61v/9DAR3KkgZOJ7prR
 UkqjZFQ5xC0NeOgOfVs/0hlMGbSBj2WQrFvqUjVEDHLiowcGzsV/pNbvjVO64iTh
 DW36XisI9ICpKk6vyverSJHT6XDN6q5QpFEQMl5QYNu1pWdRuBnNL+NHa9k0x846
 lUAOOwmZVUiqF6Sip/9wviGVHgcKKxAiJYIq3J2v7Dv0Ez6PYqvDP/AMA59OrbPJ
 kw2NuGpfFu2XPYZt/CKiUs/ldQSOvbfbaouqAXBmyek9u0XDJTBmepFT4EuhTbvc
 axSmEBoShz2Zi2HH7KAIzsTgLYJwLyy3MXHug7SJse0q0imAL+/upoVpkTJ7DcO8
 nBD2/kL6XbWAi40CitOulz4tOwc8W6tsavqkScDFTbvJ/S5WqEm0AJJQeFOs4ekc
 qhB6ig3BTph2hrynFlaEarOUwh1oqKs0kwTBL4Bsxjncaa5XIK8ZeAaXWhiuExWq
 8kkbMnG5bm0AAT9v8F0AwGCX0Eakkc+B29MDm7nbJWLjvuaqt6FJSvWnbFm5ggeo
 3csFsIfb6fAFs71vuJ9KYZeUsgB2vxgTQCoVAYXL5Kgl+QrqhfU=
 =rHqU
 -----END PGP SIGNATURE-----

Merge tag 'nvme-6.14-2025-03-13' of git://git.infradead.org/nvme into block-6.14

Pull NVMe fixes from Keith:

"nvme fixes for Linux 6.14

 - Concurrent pci error and hotplug handling fix (Keith)
 - Endpoint function fixes (Damien)"

* tag 'nvme-6.14-2025-03-13' of git://git.infradead.org/nvme:
  nvmet: pci-epf: Do not add an IRQ vector if not needed
  nvmet: pci-epf: Set NVMET_PCI_EPF_Q_LIVE when a queue is fully created
  nvme-pci: fix stuck reset on concurrent DPC and HP
2025-03-13 09:41:57 -06:00
Paolo Abeni
2409fa66e2 netfilter pull request 25-03-13
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEjF9xRqF1emXiQiqU1w0aZmrPKyEFAmfSqyUACgkQ1w0aZmrP
 KyGocBAAu0+rdAcW1wwSYk53tRN663WpbbYg/AchJ9ilLH2IXdCzzbeuekRzvSmS
 /gS2WNANmckL314300RV5vTd9+PCbANjh1248O4S8ZQnhmomoiB3xD4QM9fu8HKZ
 RE+koHmnHESl+TiiUzgw31OtZEdSpjn7zUzm+qAznBeDXfyBE1YWQ9q8LALi0+3m
 RW/waYykwRktzHCANBYNF0oqt6siBrHnI9KHgXIfQCEK0mc3A/s8MfO1IJqC177Y
 It/+4a6qsaGZZsSwGCrQ/40CO3rItzF7jefpeAjv/di224EQ+p2sWZgEiLPCMtvk
 6WSfYhKNiDnKGAe1u9hCG2RdaSQ8Og7BsBWFeB56gZbK7gPoFY2VCM/hATsBTYG8
 bn8xQKFoA9y7dYp8AP6a33OlzV+/qOfJa2kXQ90yjS4yWnMY+q59j1D564z/WhZ9
 gVZjrcUDSsv3ETtp7vk7s+0SoI3EvSLb/umcjHZR6oeLkNFWpQ4r9NqY0GX6+zDC
 89YR2w/RbO9WMRb52OAqY3HdKmOflwEIN5mDWCAB4sIPUgCpoDzvIjC2xLdr6lUW
 ydoisH2B87luG0p7zKP7iGE1KIp8wm+zO+XciOrcjyie5YNMHyCFRbzGAsd47CLB
 UjNrrlAS0tU65Nb+JzsrZOYye2cghE+KC8fKHvpwjk54lsaPHl0=
 =OTtx
 -----END PGP SIGNATURE-----

Merge tag 'nf-25-03-13' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pablo Neira Ayuso says:

====================
Netfilter/IPVS fixes for net

The following patchset contains Netfilter/IPVS fixes for net:

1) Missing initialization of cpu and jiffies32 fields in conncount,
   from Kohei Enju.

2) Skip several tests in case kernel is tainted, otherwise tests bogusly
   report failure too as they also check for tainted kernel,
   from Florian Westphal.

3) Fix a hyphothetical integer overflow in do_ip_vs_get_ctl() leading
   to bogus error logs, from Dan Carpenter.

4) Fix incorrect offset in ipv4 option match in nft_exthdr, from
   Alexey Kashavkin.

netfilter pull request 25-03-13

* tag 'nf-25-03-13' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nft_exthdr: fix offset with ipv4_find_option()
  ipvs: prevent integer overflow in do_ip_vs_get_ctl()
  selftests: netfilter: skip br_netfilter queue tests if kernel is tainted
  netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()
====================

Link: https://patch.msgid.link/20250313095636.2186-1-pablo@netfilter.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 15:07:39 +01:00
Mario Limonciello
4490fe9736
platform/x86/amd: pmf: Fix missing hidden options for Smart PC
amd_pmf_get_slider_info() checks the current profile to report correct
value to the TA inputs.  If hidden options are in use then the wrong
values will be reported to TA.

Add the two compat options PLATFORM_PROFILE_BALANCED_PERFORMANCE and
PLATFORM_PROFILE_QUIET for this use.

Reported-by: Yijun Shen <Yijun.Shen@dell.com>
Fixes: 9a43102daf ("platform/x86/amd: pmf: Add balanced-performance to hidden choices")
Fixes: 44e94fece5 ("platform/x86/amd: pmf: Add 'quiet' to hidden choices")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://lore.kernel.org/r/20250306034402.50478-1-superm1@kernel.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-03-13 14:53:33 +02:00
Shradha Gupta
3e64bb2ae7 net: mana: cleanup mana struct after debugfs_remove()
When on a MANA VM hibernation is triggered, as part of hibernate_snapshot(),
mana_gd_suspend() and mana_gd_resume() are called. If during this
mana_gd_resume(), a failure occurs with HWC creation, mana_port_debugfs
pointer does not get reinitialized and ends up pointing to older,
cleaned-up dentry.
Further in the hibernation path, as part of power_down(), mana_gd_shutdown()
is triggered. This call, unaware of the failures in resume, tries to cleanup
the already cleaned up  mana_port_debugfs value and hits the following bug:

[  191.359296] mana 7870:00:00.0: Shutdown was called
[  191.359918] BUG: kernel NULL pointer dereference, address: 0000000000000098
[  191.360584] #PF: supervisor write access in kernel mode
[  191.361125] #PF: error_code(0x0002) - not-present page
[  191.361727] PGD 1080ea067 P4D 0
[  191.362172] Oops: Oops: 0002 [#1] SMP NOPTI
[  191.362606] CPU: 11 UID: 0 PID: 1674 Comm: bash Not tainted 6.14.0-rc5+ #2
[  191.363292] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 11/21/2024
[  191.364124] RIP: 0010:down_write+0x19/0x50
[  191.364537] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb e8 de cd ff ff 31 c0 ba 01 00 00 00 <f0> 48 0f b1 13 75 16 65 48 8b 05 88 24 4c 6a 48 89 43 08 48 8b 5d
[  191.365867] RSP: 0000:ff45fbe0c1c037b8 EFLAGS: 00010246
[  191.366350] RAX: 0000000000000000 RBX: 0000000000000098 RCX: ffffff8100000000
[  191.366951] RDX: 0000000000000001 RSI: 0000000000000064 RDI: 0000000000000098
[  191.367600] RBP: ff45fbe0c1c037c0 R08: 0000000000000000 R09: 0000000000000001
[  191.368225] R10: ff45fbe0d2b01000 R11: 0000000000000008 R12: 0000000000000000
[  191.368874] R13: 000000000000000b R14: ff43dc27509d67c0 R15: 0000000000000020
[  191.369549] FS:  00007dbc5001e740(0000) GS:ff43dc663f380000(0000) knlGS:0000000000000000
[  191.370213] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  191.370830] CR2: 0000000000000098 CR3: 0000000168e8e002 CR4: 0000000000b73ef0
[  191.371557] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  191.372192] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400
[  191.372906] Call Trace:
[  191.373262]  <TASK>
[  191.373621]  ? show_regs+0x64/0x70
[  191.374040]  ? __die+0x24/0x70
[  191.374468]  ? page_fault_oops+0x290/0x5b0
[  191.374875]  ? do_user_addr_fault+0x448/0x800
[  191.375357]  ? exc_page_fault+0x7a/0x160
[  191.375971]  ? asm_exc_page_fault+0x27/0x30
[  191.376416]  ? down_write+0x19/0x50
[  191.376832]  ? down_write+0x12/0x50
[  191.377232]  simple_recursive_removal+0x4a/0x2a0
[  191.377679]  ? __pfx_remove_one+0x10/0x10
[  191.378088]  debugfs_remove+0x44/0x70
[  191.378530]  mana_detach+0x17c/0x4f0
[  191.378950]  ? __flush_work+0x1e2/0x3b0
[  191.379362]  ? __cond_resched+0x1a/0x50
[  191.379787]  mana_remove+0xf2/0x1a0
[  191.380193]  mana_gd_shutdown+0x3b/0x70
[  191.380642]  pci_device_shutdown+0x3a/0x80
[  191.381063]  device_shutdown+0x13e/0x230
[  191.381480]  kernel_power_off+0x35/0x80
[  191.381890]  hibernate+0x3c6/0x470
[  191.382312]  state_store+0xcb/0xd0
[  191.382734]  kobj_attr_store+0x12/0x30
[  191.383211]  sysfs_kf_write+0x3e/0x50
[  191.383640]  kernfs_fop_write_iter+0x140/0x1d0
[  191.384106]  vfs_write+0x271/0x440
[  191.384521]  ksys_write+0x72/0xf0
[  191.384924]  __x64_sys_write+0x19/0x20
[  191.385313]  x64_sys_call+0x2b0/0x20b0
[  191.385736]  do_syscall_64+0x79/0x150
[  191.386146]  ? __mod_memcg_lruvec_state+0xe7/0x240
[  191.386676]  ? __lruvec_stat_mod_folio+0x79/0xb0
[  191.387124]  ? __pfx_lru_add+0x10/0x10
[  191.387515]  ? queued_spin_unlock+0x9/0x10
[  191.387937]  ? do_anonymous_page+0x33c/0xa00
[  191.388374]  ? __handle_mm_fault+0xcf3/0x1210
[  191.388805]  ? __count_memcg_events+0xbe/0x180
[  191.389235]  ? handle_mm_fault+0xae/0x300
[  191.389588]  ? do_user_addr_fault+0x559/0x800
[  191.390027]  ? irqentry_exit_to_user_mode+0x43/0x230
[  191.390525]  ? irqentry_exit+0x1d/0x30
[  191.390879]  ? exc_page_fault+0x86/0x160
[  191.391235]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[  191.391745] RIP: 0033:0x7dbc4ff1c574
[  191.392111] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d d5 ea 0e 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
[  191.393412] RSP: 002b:00007ffd95a23ab8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[  191.393990] RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007dbc4ff1c574
[  191.394594] RDX: 0000000000000005 RSI: 00005a6eeadb0ce0 RDI: 0000000000000001
[  191.395215] RBP: 00007ffd95a23ae0 R08: 00007dbc50003b20 R09: 0000000000000000
[  191.395805] R10: 0000000000000001 R11: 0000000000000202 R12: 0000000000000005
[  191.396404] R13: 00005a6eeadb0ce0 R14: 00007dbc500045c0 R15: 00007dbc50001ee0
[  191.396987]  </TASK>

To fix this, we explicitly set such mana debugfs variables to NULL after
debugfs_remove() is called.

Fixes: 6607c17c6c ("net: mana: Enable debugfs files for MANA device")
Cc: stable@vger.kernel.org
Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Link: https://patch.msgid.link/1741688260-28922-1-git-send-email-shradhagupta@linux.microsoft.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:26:35 +01:00
Paolo Abeni
e1af35d666 Merge branch 'mlx5-misc-fixes-2025-03-10'
Tariq Toukan says:

====================
mlx5 misc fixes 2025-03-10

This patchset provides misc bug fixes from the team to the mlx5 core and
Eth drivers.
====================

Link: https://patch.msgid.link/1741644104-97767-1-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:18 +01:00
Carolina Jubran
e92df790d0 net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices
mlx5_eswitch_get_vepa returns -EPERM if the device lacks
eswitch_manager capability, blocking mlx5e_bridge_getlink from
retrieving VEPA mode. Since mlx5e_bridge_getlink implements
ndo_bridge_getlink, returning -EPERM causes bridge link show to fail
instead of skipping devices without this capability.

To avoid this, return -EOPNOTSUPP from mlx5e_bridge_getlink when
mlx5_eswitch_get_vepa fails, ensuring the command continues processing
other devices while ignoring those without the necessary capability.

Fixes: 4b89251de0 ("net/mlx5: Support ndo bridge_setlink and getlink")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Reviewed-by: Jianbo Liu <jianbol@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/1741644104-97767-7-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:15 +01:00
Jianbo Liu
4b8eeed4fb net/mlx5: Bridge, fix the crash caused by LAG state check
When removing LAG device from bridge, NETDEV_CHANGEUPPER event is
triggered. Driver finds the lower devices (PFs) to flush all the
offloaded entries. And mlx5_lag_is_shared_fdb is checked, it returns
false if one of PF is unloaded. In such case,
mlx5_esw_bridge_lag_rep_get() and its caller return NULL, instead of
the alive PF, and the flush is skipped.

Besides, the bridge fdb entry's lastuse is updated in mlx5 bridge
event handler. But this SWITCHDEV_FDB_ADD_TO_BRIDGE event can be
ignored in this case because the upper interface for bond is deleted,
and the entry will never be aged because lastuse is never updated.

To make things worse, as the entry is alive, mlx5 bridge workqueue
keeps sending that event, which is then handled by kernel bridge
notifier. It causes the following crash when accessing the passed bond
netdev which is already destroyed.

To fix this issue, remove such checks. LAG state is already checked in
commit 15f8f16895 ("net/mlx5: Bridge, verify LAG state when adding
bond to bridge"), driver still need to skip offload if LAG becomes
invalid state after initialization.

 Oops: stack segment: 0000 [#1] SMP
 CPU: 3 UID: 0 PID: 23695 Comm: kworker/u40:3 Tainted: G           OE      6.11.0_mlnx #1
 Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
 Workqueue: mlx5_bridge_wq mlx5_esw_bridge_update_work [mlx5_core]
 RIP: 0010:br_switchdev_event+0x2c/0x110 [bridge]
 Code: 44 00 00 48 8b 02 48 f7 00 00 02 00 00 74 69 41 54 55 53 48 83 ec 08 48 8b a8 08 01 00 00 48 85 ed 74 4a 48 83 fe 02 48 89 d3 <4c> 8b 65 00 74 23 76 49 48 83 fe 05 74 7e 48 83 fe 06 75 2f 0f b7
 RSP: 0018:ffffc900092cfda0 EFLAGS: 00010297
 RAX: ffff888123bfe000 RBX: ffffc900092cfe08 RCX: 00000000ffffffff
 RDX: ffffc900092cfe08 RSI: 0000000000000001 RDI: ffffffffa0c585f0
 RBP: 6669746f6e690a30 R08: 0000000000000000 R09: ffff888123ae92c8
 R10: 0000000000000000 R11: fefefefefefefeff R12: ffff888123ae9c60
 R13: 0000000000000001 R14: ffffc900092cfe08 R15: 0000000000000000
 FS:  0000000000000000(0000) GS:ffff88852c980000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00007f15914c8734 CR3: 0000000002830005 CR4: 0000000000770ef0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 PKRU: 55555554
 Call Trace:
  <TASK>
  ? __die_body+0x1a/0x60
  ? die+0x38/0x60
  ? do_trap+0x10b/0x120
  ? do_error_trap+0x64/0xa0
  ? exc_stack_segment+0x33/0x50
  ? asm_exc_stack_segment+0x22/0x30
  ? br_switchdev_event+0x2c/0x110 [bridge]
  ? sched_balance_newidle.isra.149+0x248/0x390
  notifier_call_chain+0x4b/0xa0
  atomic_notifier_call_chain+0x16/0x20
  mlx5_esw_bridge_update+0xec/0x170 [mlx5_core]
  mlx5_esw_bridge_update_work+0x19/0x40 [mlx5_core]
  process_scheduled_works+0x81/0x390
  worker_thread+0x106/0x250
  ? bh_worker+0x110/0x110
  kthread+0xb7/0xe0
  ? kthread_park+0x80/0x80
  ret_from_fork+0x2d/0x50
  ? kthread_park+0x80/0x80
  ret_from_fork_asm+0x11/0x20
  </TASK>

Fixes: ff9b752146 ("net/mlx5: Bridge, support LAG")
Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
Reviewed-by: Vlad Buslov <vladbu@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/1741644104-97767-6-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:14 +01:00
Shay Drory
32966984be net/mlx5: Lag, Check shared fdb before creating MultiPort E-Switch
Currently, MultiPort E-Switch is requesting to create a LAG with shared
FDB without checking the LAG is supporting shared FDB.
Add the check.

Fixes: a32327a3a0 ("net/mlx5: Lag, Control MultiPort E-Switch single FDB mode")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/1741644104-97767-5-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:14 +01:00
Shay Drory
32d2724db5 net/mlx5: Fix incorrect IRQ pool usage when releasing IRQs
mlx5_irq_pool_get() is a getter for completion IRQ pool only.
However, after the cited commit, mlx5_irq_pool_get() is called during
ctrl IRQ release flow to retrieve the pool, resulting in the use of an
incorrect IRQ pool.

Hence, use the newly introduced mlx5_irq_get_pool() getter to retrieve
the correct IRQ pool based on the IRQ itself. While at it, rename
mlx5_irq_pool_get() to mlx5_irq_table_get_comp_irq_pool() which
accurately reflects its purpose and improves code readability.

Fixes: 0477d5168b ("net/mlx5: Expose SFs IRQs")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/1741644104-97767-4-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:14 +01:00
Vlad Dogaru
521992337f net/mlx5: HWS, Rightsize bwc matcher priority
The bwc layer was clamping the matcher priority from 32 bits to 16 bits.
This didn't show up until a matcher was resized, since the initial
native matcher was created using the correct 32 bit value.

The fix also reorders fields to avoid some padding.

Fixes: 2111bb970c ("net/mlx5: HWS, added backward-compatible API handling")
Signed-off-by: Vlad Dogaru <vdogaru@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1741644104-97767-3-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:14 +01:00
Yevgeny Kliteynik
03ebae1992 net/mlx5: DR, use the right action structs for STEv3
Some actions in ConnectX-8 (STEv3) have different structure,
and they are handled separately in ste_ctx_v3.
This separate handling was missing two actions: INSERT_HDR
and REMOVE_HDR, which broke SWS for Linux Bridge.
This patch resolves the issue by introducing dedicated
callbacks for the insert and remove header functions,
with version-specific implementations for each STE variant.

Fixes: 4d617b5757 ("net/mlx5: DR, add support for ConnectX-8 steering")
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Itamar Gozlan <igozlan@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1741644104-97767-2-git-send-email-tariqt@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 13:11:14 +01:00
Xin Long
1063ae0738 Revert "openvswitch: switch to per-action label counting in conntrack"
Currently, ovs_ct_set_labels() is only called for confirmed conntrack
entries (ct) within ovs_ct_commit(). However, if the conntrack entry
does not have the labels_ext extension, attempting to allocate it in
ovs_ct_get_conn_labels() for a confirmed entry triggers a warning in
nf_ct_ext_add():

  WARN_ON(nf_ct_is_confirmed(ct));

This happens when the conntrack entry is created externally before OVS
increments net->ct.labels_used. The issue has become more likely since
commit fcb1aa5163 ("openvswitch: switch to per-action label counting
in conntrack"), which changed to use per-action label counting and
increment net->ct.labels_used when a flow with ct action is added.

Since there’s no straightforward way to fully resolve this issue at the
moment, this reverts the commit to avoid breaking existing use cases.

Fixes: fcb1aa5163 ("openvswitch: switch to per-action label counting in conntrack")
Reported-by: Jianbo Liu <jianbol@nvidia.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Link: https://patch.msgid.link/1bdeb2f3a812bca016a225d3de714427b2cd4772.1741457143.git.lucien.xin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 10:29:34 +01:00
Ilya Maximets
a1e64addf3 net: openvswitch: remove misbehaving actions length check
The actions length check is unreliable and produces different results
depending on the initial length of the provided netlink attribute and
the composition of the actual actions inside of it.  For example, a
user can add 4088 empty clone() actions without triggering -EMSGSIZE,
on attempt to add 4089 such actions the operation will fail with the
-EMSGSIZE verdict.  However, if another 16 KB of other actions will
be *appended* to the previous 4089 clone() actions, the check passes
and the flow is successfully installed into the openvswitch datapath.

The reason for a such a weird behavior is the way memory is allocated.
When ovs_flow_cmd_new() is invoked, it calls ovs_nla_copy_actions(),
that in turn calls nla_alloc_flow_actions() with either the actual
length of the user-provided actions or the MAX_ACTIONS_BUFSIZE.  The
function adds the size of the sw_flow_actions structure and then the
actually allocated memory is rounded up to the closest power of two.

So, if the user-provided actions are larger than MAX_ACTIONS_BUFSIZE,
then MAX_ACTIONS_BUFSIZE + sizeof(*sfa) rounded up is 32K + 24 -> 64K.
Later, while copying individual actions, we look at ksize(), which is
64K, so this way the MAX_ACTIONS_BUFSIZE check is not actually
triggered and the user can easily allocate almost 64 KB of actions.

However, when the initial size is less than MAX_ACTIONS_BUFSIZE, but
the actions contain ones that require size increase while copying
(such as clone() or sample()), then the limit check will be performed
during the reserve_sfa_size() and the user will not be allowed to
create actions that yield more than 32 KB internally.

This is one part of the problem.  The other part is that it's not
actually possible for the userspace application to know beforehand
if the particular set of actions will be rejected or not.

Certain actions require more space in the internal representation,
e.g. an empty clone() takes 4 bytes in the action list passed in by
the user, but it takes 12 bytes in the internal representation due
to an extra nested attribute, and some actions require less space in
the internal representations, e.g. set(tunnel(..)) normally takes
64+ bytes in the action list provided by the user, but only needs to
store a single pointer in the internal implementation, since all the
data is stored in the tunnel_info structure instead.

And the action size limit is applied to the internal representation,
not to the action list passed by the user.  So, it's not possible for
the userpsace application to predict if the certain combination of
actions will be rejected or not, because it is not possible for it to
calculate how much space these actions will take in the internal
representation without knowing kernel internals.

All that is causing random failures in ovs-vswitchd in userspace and
inability to handle certain traffic patterns as a result.  For example,
it is reported that adding a bit more than a 1100 VMs in an OpenStack
setup breaks the network due to OVS not being able to handle ARP
traffic anymore in some cases (it tries to install a proper datapath
flow, but the kernel rejects it with -EMSGSIZE, even though the action
list isn't actually that large.)

Kernel behavior must be consistent and predictable in order for the
userspace application to use it in a reasonable way.  ovs-vswitchd has
a mechanism to re-direct parts of the traffic and partially handle it
in userspace if the required action list is oversized, but that doesn't
work properly if we can't actually tell if the action list is oversized
or not.

Solution for this is to check the size of the user-provided actions
instead of the internal representation.  This commit just removes the
check from the internal part because there is already an implicit size
check imposed by the netlink protocol.  The attribute can't be larger
than 64 KB.  Realistically, we could reduce the limit to 32 KB, but
we'll be risking to break some existing setups that rely on the fact
that it's possible to create nearly 64 KB action lists today.

Vast majority of flows in real setups are below 100-ish bytes.  So
removal of the limit will not change real memory consumption on the
system.  The absolutely worst case scenario is if someone adds a flow
with 64 KB of empty clone() actions.  That will yield a 192 KB in the
internal representation consuming 256 KB block of memory.  However,
that list of actions is not meaningful and also a no-op.  Real world
very large action lists (that can occur for a rare cases of BUM
traffic handling) are unlikely to contain a large number of clones and
will likely have a lot of tunnel attributes making the internal
representation comparable in size to the original action list.
So, it should be fine to just remove the limit.

Commit in the 'Fixes' tag is the first one that introduced the
difference between internal representation and the user-provided action
lists, but there were many more afterwards that lead to the situation
we have today.

Fixes: 7d5437c709 ("openvswitch: Add tunneling interface.")
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Link: https://patch.msgid.link/20250308004609.2881861-1-i.maximets@ovn.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 10:29:18 +01:00
Paolo Abeni
b3fc5927de Merge branch 'gre-fix-regressions-in-ipv6-link-local-address-generation'
Guillaume Nault says:

====================
gre: Fix regressions in IPv6 link-local address generation.

IPv6 link-local address generation has some special cases for GRE
devices. This has led to several regressions in the past, and some of
them are still not fixed. This series fixes the remaining problems,
like the ipv6.conf.<dev>.addr_gen_mode sysctl being ignored and the
router discovery process not being started (see details in patch 1).

To avoid any further regressions, patch 2 adds selftests covering
IPv4 and IPv6 gre/gretap devices with all combinations of currently
supported addr_gen_mode values.
====================

Link: https://patch.msgid.link/cover.1741375285.git.gnault@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 10:17:46 +01:00
Guillaume Nault
6f50175cca selftests: Add IPv6 link-local address generation tests for GRE devices.
GRE devices have their special code for IPv6 link-local address
generation that has been the source of several regressions in the past.

Add selftest to check that all gre, ip6gre, gretap and ip6gretap get an
IPv6 link-link local address in accordance with the
net.ipv6.conf.<dev>.addr_gen_mode sysctl.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/2d6772af8e1da9016b2180ec3f8d9ee99f470c77.1741375285.git.gnault@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 10:17:42 +01:00
Guillaume Nault
183185a18f gre: Fix IPv6 link-local address generation.
Use addrconf_addr_gen() to generate IPv6 link-local addresses on GRE
devices in most cases and fall back to using add_v4_addrs() only in
case the GRE configuration is incompatible with addrconf_addr_gen().

GRE used to use addrconf_addr_gen() until commit e5dd729460
("ip/ip6_gre: use the same logic as SIT interfaces when computing v6LL
address") restricted this use to gretap and ip6gretap devices, and
created add_v4_addrs() (borrowed from SIT) for non-Ethernet GRE ones.

The original problem came when commit 9af28511be ("addrconf: refuse
isatap eui64 for INADDR_ANY") made __ipv6_isatap_ifid() fail when its
addr parameter was 0. The commit says that this would create an invalid
address, however, I couldn't find any RFC saying that the generated
interface identifier would be wrong. Anyway, since gre over IPv4
devices pass their local tunnel address to __ipv6_isatap_ifid(), that
commit broke their IPv6 link-local address generation when the local
address was unspecified.

Then commit e5dd729460 ("ip/ip6_gre: use the same logic as SIT
interfaces when computing v6LL address") tried to fix that case by
defining add_v4_addrs() and calling it to generate the IPv6 link-local
address instead of using addrconf_addr_gen() (apart for gretap and
ip6gretap devices, which would still use the regular
addrconf_addr_gen(), since they have a MAC address).

That broke several use cases because add_v4_addrs() isn't properly
integrated into the rest of IPv6 Neighbor Discovery code. Several of
these shortcomings have been fixed over time, but add_v4_addrs()
remains broken on several aspects. In particular, it doesn't send any
Router Sollicitations, so the SLAAC process doesn't start until the
interface receives a Router Advertisement. Also, add_v4_addrs() mostly
ignores the address generation mode of the interface
(/proc/sys/net/ipv6/conf/*/addr_gen_mode), thus breaking the
IN6_ADDR_GEN_MODE_RANDOM and IN6_ADDR_GEN_MODE_STABLE_PRIVACY cases.

Fix the situation by using add_v4_addrs() only in the specific scenario
where the normal method would fail. That is, for interfaces that have
all of the following characteristics:

  * run over IPv4,
  * transport IP packets directly, not Ethernet (that is, not gretap
    interfaces),
  * tunnel endpoint is INADDR_ANY (that is, 0),
  * device address generation mode is EUI64.

In all other cases, revert back to the regular addrconf_addr_gen().

Also, remove the special case for ip6gre interfaces in add_v4_addrs(),
since ip6gre devices now always use addrconf_addr_gen() instead.

Fixes: e5dd729460 ("ip/ip6_gre: use the same logic as SIT interfaces when computing v6LL address")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/559c32ce5c9976b269e6337ac9abb6a96abe5096.1741375285.git.gnault@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-03-13 10:17:42 +01:00
Alexey Kashavkin
6edd78af95 netfilter: nft_exthdr: fix offset with ipv4_find_option()
There is an incorrect calculation in the offset variable which causes
the nft_skb_copy_to_reg() function to always return -EFAULT. Adding the
start variable is redundant. In the __ip_options_compile() function the
correct offset is specified when finding the function. There is no need
to add the size of the iphdr structure to the offset.

Fixes: dbb5281a1f ("netfilter: nf_tables: add support for matching IPv4 options")
Signed-off-by: Alexey Kashavkin <akashavkin@gmail.com>
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2025-03-13 10:02:39 +01:00
Bartosz Golaszewski
dcb73cbaae gpio: cdev: use raw notifier for line state events
We use a notifier to implement the mechanism of informing the user-space
about changes in GPIO line status. We register with the notifier when
the GPIO character device file is opened and unregister when the last
reference to the associated file descriptor is dropped.

Since commit fcc8b637c5 ("gpiolib: switch the line state notifier to
atomic") we use the atomic notifier variant. Atomic notifiers call
rcu_synchronize in atomic_notifier_chain_unregister() which caused a
significant performance regression in some circumstances, observed by
user-space when calling close() on the GPIO device file descriptor.

Replace the atomic notifier with the raw variant and provide
synchronization with a read-write spinlock.

Fixes: fcc8b637c5 ("gpiolib: switch the line state notifier to atomic")
Reported-by: David Jander <david@protonic.nl>
Closes: https://lore.kernel.org/all/20250311110034.53959031@erd003.prtnl/
Tested-by: David Jander <david@protonic.nl>
Tested-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20250311-gpiolib-line-state-raw-notifier-v2-1-138374581e1e@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-03-13 09:20:12 +01:00
Bartosz Golaszewski
0102fbf52b gpiolib: don't check the retval of get_direction() when registering a chip
During chip registration we should neither check the return value of
gc->get_direction() nor hold the SRCU lock when calling it. The former
is because pin controllers may have pins set to alternate functions and
return errors from their get_direction() callbacks. That's alright - we
should default to the safe INPUT state and not bail-out. The latter is
not needed because we haven't registered the chip yet so there's nothing
to protect against dynamic removal. In fact: we currently hit a lockdep
splat. Revert to calling the gc->get_direction() callback directly and
*not* checking its value.

Fixes: 9d846b1aeb ("gpiolib: check the return value of gpio_chip::get_direction()")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Closes: https://lore.kernel.org/all/81f890fc-6688-42f0-9756-567efc8bb97a@samsung.com/
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250226-retval-fixes-v2-1-c8dc57182441@linaro.org
Tested-by: Gene C <arch@sapience.com>
Link: https://lore.kernel.org/r/20250311175631.83779-1-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-03-13 09:19:34 +01:00
Takashi Iwai
de69d56daa ASoC: Fixes for v6.14
The bulk of this is driver specific fixes, mostly unremarkable.  There's
 also one core fix from Charles, fixing up confusion around the limiting
 of maximum control values.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmfSEi8ACgkQJNaLcl1U
 h9ALVQf+OpOZuoTfAiu44d/l3WXEtn7l6rwihWbozUuNW7LwfnNSDYnBstOl/FDM
 6ry8oJbaj8t2We3joJsixrGbrGYiJKFcbZvFd6FyPQzF63s0tUAZk9iu182If3i7
 nrjFSch0hYDR3A/o5NfOufelRwmNUvOEXFgvLIJ+Hn1qDeJz5nyUyauCGSu/M0S0
 blF36uVjuiEc+2QpNLcSvBqh9aJ9Atg9X4GFhpSsq4Kp6eFtRmiERHYlWQEI0ppM
 becNQnEwn4n9RZp0bt5OYx/f7wE1BcjNlJyKXV5rS74MypSZCeZKe5N+F4IoiKKN
 o/HwNoh1rl/+e0n8JmqHUyRXM6Fp2g==
 =nXOh
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v6.14-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v6.14

The bulk of this is driver specific fixes, mostly unremarkable.  There's
also one core fix from Charles, fixing up confusion around the limiting
of maximum control values.
2025-03-13 07:33:48 +01:00
Kent Overstreet
3bcde88d38 bcachefs: fix tiny leak in bch2_dev_add()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-13 00:23:19 -04:00
Linus Torvalds
b7f94fcf55 sched_ext: A fix for v6.14-rc6
BPF schedulers could trigger a crash by passing in an invalid CPU to the
 helper scx_bpf_select_cpu_dfl(). Fix it by verifying input validity.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCZ9H4tw4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGY2PAP95rqNEACvl5uz/HQM+T0WpwGDaIJ3fmKYd3GZY
 3XJjhwD/YmKMLmth0xeDLkAtVUNsMp4EjpssKdzi0CJq+Nl4nQw=
 =OxEw
 -----END PGP SIGNATURE-----

Merge tag 'sched_ext-for-6.14-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

Pull sched_ext fix from Tejun Heo:
 "BPF schedulers could trigger a crash by passing in an invalid CPU to
  the scx_bpf_select_cpu_dfl() helper.

  Fix it by verifying input validity"

* tag 'sched_ext-for-6.14-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext:
  sched_ext: Validate prev_cpu in scx_bpf_select_cpu_dfl()
2025-03-12 11:52:04 -10:00
Linus Torvalds
6e8e2f82bc spi: Fixes for v6.14
A couple of driver specific fixes, an error handling fix for the Atmel
 QuadSPI driver and a fix for a nasty synchronisation issue in the data
 path for the Microchip driver which affects larger transfers.
 
 There's also a MAINTAINERS update for the Samsung driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmfRlUIACgkQJNaLcl1U
 h9B51wf/VMJhNbybxH1pGHIBrFq+xzwjozmY/Hk+omw9VTIIFto6Hejq3HkOoKOO
 T62drvGqxWpHq/reqiLF4TDRD0KSiOjD/KM+xXzbn5F73P5j5tTR4Zo1OLFOPiWj
 Tqs1TiJbQllHCynmfJjB9EAsAembqOMClybW3yvG0XObHgONiBMaDAyFwqbHFwRi
 b0YFqyEdLUoLK4WvuPMpn4hspEJg8D0MsKTURityx0LgpWO03zhqC5qn9DSn/0jI
 cNKT1veCt+vS1YDsZ5UQLsfWfLYj9d3JArfg5T7kBtwq21ZHve/uqyzceUfufo4G
 QAAFKqgk5J5c6G79Q5oo/PYD7vkdUQ==
 =e3ZQ
 -----END PGP SIGNATURE-----

Merge tag 'spi-fix-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi fixes from Mark Brown:
 "A couple of driver specific fixes, an error handling fix for the Atmel
  QuadSPI driver and a fix for a nasty synchronisation issue in the data
  path for the Microchip driver which affects larger transfers.

  There's also a MAINTAINERS update for the Samsung driver"

* tag 'spi-fix-v6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: microchip-core: prevent RX overflows when transmit size > FIFO size
  MAINTAINERS: add tambarus as R for Samsung SPI
  spi: atmel-quadspi: remove references to runtime PM on error path
2025-03-12 11:47:24 -10:00