Commit graph

1,058,063 commits

Author SHA1 Message Date
Florian Westphal
4342f70538 selinux: remove unneeded ipv6 hook wrappers
Netfilter places the protocol number the hook function is getting called
from in state->pf, so we can use that instead of an extra wrapper.

While at it, remove one-line wrappers too and make
selinux_ip_{out,forward,postroute} useable as hook function.

Signed-off-by: Florian Westphal <fw@strlen.de>
Message-Id: <20211011202229.28289-1-fw@strlen.de>
Signed-off-by: Paul Moore <paul@paul-moore.com>
2021-10-11 17:44:00 -04:00
Arnd Bergmann
2a9c7b9062
Revert "arm64: dts: Add support for Unisoc's UMS512"
The patch uses the "dt-bindings/clock/sprd,ums512-clk.h header, which
is not merged yet. This caused a build regression, and it means the
patch was not ready to get merged anyway.

This reverts commit 23410de579.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 23:02:34 +02:00
Arnd Bergmann
8071974c83 AT91 DT #1 for 5.16:
- Addition of a new variant in the sama5d2 family: the sama5d29 with
   significant updates being CAN and Ethernet controllers;
 - Add support for Exegin Q5xR5 and CalAmp LMU5000 boards which were
   maintained up to this moment, separately, in OpenWrt tree;
 - Two more boards gained I2C bus recovery support;
 - Tse850 updated with one Ethernet fix;
 - Sama7g5ek gained ADC nodes  and sama5d27_wlsom1 WiFi support.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ5TRCVIBiyi/S+BG4fOrpwrNPNDAUCYWQuQwAKCRAfOrpwrNPN
 DP3CAQCOSNWmCOwvlWJdu7/FjsxPsPXmUyUHW0oAFF80sEkaBQEAiN6QlIDvTB9U
 Cxn/wYe2zbQ+vJbqkuODTqK104OUdA4=
 =Ph50
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFkoI8ACgkQmmx57+YA
 GNk9QQ/9F0jWoBA1RQDZgIpBQFL/3tPbtuIpMT3nY7zGTecKEZAYjAPI104d30HK
 0yVHCGlV9fAW+eHqq6szyNQhzncvz/aeUrYuyb9gffPOSvdVa3CwRxOFNu86vEWS
 cTn/DzqfJ1PunP7nMppD7smWEhWyqpc7TmApkXCPyiWOLhJvCYTVf7xdqGiKvMDo
 ou9eNTyeMa0Abn38rnXu3mqmHbPC4wV6EeeOsSwZhrguf3sLuFk4dGWmdYzbC4Jo
 ZxTkFEFxQWZyj26lP3E91Ok+F0+BOycTfRno8WSiLUL2cQhOh/MuU9wvQatWPpZM
 RW8XIx8GlFgc5ffYUSVXxSlcrjyL+6w2PxCXaak6+7lC/tTRe/vXXRSi71yb2Yxw
 p+zZCI9Agves5pqTnh8TFlMzidO57xLJLDTsYUzsHJgDwJ+mv/hIdg4j84VsMSnj
 T5tU0FqX9ut8xGZduICFg3UtTOn41XiJH9L87hymaheMlVUJQb3X0eV9lUg8pOv2
 Bb7i/68uA+Aa0UxLRtnwfZkskXJ5Rcx0hhmcfZPKOjr3K/TLO2ZUtSQY/dcOqh4i
 ogzvJTggxgYKi88OXECHjO/WV/i8JYivQzwtMkIjR9YuSEBmlNzdzX7VYk/MZOWj
 xJe70iIei7pPVtqIp0D3H/0xzC5XD9SxphDsYUbCh2iFumLSFcI=
 =FHko
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT #1 for 5.16:

- Addition of a new variant in the sama5d2 family: the sama5d29 with
  significant updates being CAN and Ethernet controllers;
- Add support for Exegin Q5xR5 and CalAmp LMU5000 boards which were
  maintained up to this moment, separately, in OpenWrt tree;
- Two more boards gained I2C bus recovery support;
- Tse850 updated with one Ethernet fix;
- Sama7g5ek gained ADC nodes  and sama5d27_wlsom1 WiFi support.

* tag 'at91-dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: dts: sama5d29: Add dtsi file for sama5d29
  ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
  ARM: dts: at91: tse850: the emac<->phy interface is rmii
  ARM: dts: at91: add Exegin Q5xR5 board
  dt-bindings: ARM: at91: document exegin q5xr5 board
  dt-bindings: add vendor prefix for exegin
  ARM: dts: at91: add CalAmp LMU5000 board
  dt-bindings: ARM: at91: document CalAmp LMU5000 board
  dt-bindings: add vendor prefix for calamp
  ARM: dts: at91: at91sam9260: add pinctrl label
  ARM: dts: at91-sama5d27_som1_ek: Added I2C bus recovery support
  ARM: dts: at91: sama7g5ek: enable ADC on the board
  ARM: dts: at91: sama7g5: add node for the ADC
  ARM: dts: at91: sama5d27_wlsom1: add wifi device

Link: https://lore.kernel.org/r/20211011123438.16562-1-nicolas.ferre@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 22:37:35 +02:00
Manivannan Sadhasivam
79352928a6 MAINTAINERS: Add entry for Qualcomm PCIe Endpoint driver and binding
Add MAINTAINERS entry for Qualcomm PCIe Endpoint driver and its devicetree
binding.  Also fix the PCIe RC entry to cover only the RC driver.

Link: https://lore.kernel.org/r/20210920065946.15090-4-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2021-10-11 15:34:12 -05:00
Manivannan Sadhasivam
f55fee56a6 PCI: qcom-ep: Add Qualcomm PCIe Endpoint controller driver
Add driver for Qualcomm PCIe Endpoint controller based on the DesignWare
core with added Qualcomm-specific wrapper around the core. The driver
support is very basic such that it supports only enumeration, PCIe
read/write, and MSI. There is no ASPM and PM support for now but these will
be added later.

The driver is capable of using the PERST# and WAKE# side-band GPIOs for
operation and written on top of the DWC PCI framework.

[bhelgaas: wrap a few long lines]
Co-developed-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
[mani: restructured the driver and fixed several bugs for upstream]
Link: https://lore.kernel.org/r/20210920065946.15090-3-manivannan.sadhasivam@linaro.org
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2021-10-11 15:34:02 -05:00
Arnd Bergmann
c3bb12ba7f Devicetree changes for omaps for v5.16
These changes configure devices for am335x and dra7, and fixes
 various devicetree check warnings for gta04:
 
 - Update am335x-pocketbeagle to use pinconf-single
 
 - A series of devicetree warning fixes for omap3 and gta04
 
 - Configure bb2d Vivante GC 2D Accelerator for dra7
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmFkD1cRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNeEhAAkYnwyh0neqA2EdvZXRAOdBes8muAR3eI
 e1fyWop5m+RLUDoz5/9f/5TrBFSSTI6T5Y0Of12zP88pyDB6iycGAX0b3+8hvd+J
 tmnlN663Y0JzgAwzhls1Bq+iFqj31lAmlKrpY6/9cvXvU62VE4oR/E8Ug9sbMgAO
 FGRDTpaDudcD47EtouOhnHZ06UxdsA87EwdpfN+FhXS6/4MtW7j8G+hwvew/7D6G
 OnztZHCoB7dlWBbSt0EgluNkWmupeQrM9Pt2R4QYYWyiiVX8SunDem3aiJcA+qtc
 tisjTzKjFpPulGwjVpOAa+E0/+qIruxwit3dnJHisUB1lXADBO9cPb7zLquQPWo5
 X8xG9da9V7ieufIL3scRzsGKGbXWbjnRHQyD+wasBa8fra0jHDej2wKGl19jiEmG
 YONs4UkG4jsgY4smAQSeCtyZvAZ8EjBnwYMeg7/yxKBF/2OIxJUcznnysSxTnCIA
 ywQMs4bJ91Lg1aOkgimmSEtOb887nART4cfNX/D7iEiLt3E9sOgMHxGlR/K9zMrP
 LxWsL2angfPeMoDANUDpzoSuQyJxJ60+VpzC5w8JSwt7JsL6cAvl+vZhKA291mti
 LX1cwRrzgApjTvaXnO/Apc2NKR8l7i0zr93DlW7MStymH8xIAK+1ORyAgJDk/ij2
 NhDd8tKjXeM=
 =+srs
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFkngIACgkQmmx57+YA
 GNkaExAAr1nlSZzJ4hr9sDRO2/0E8By9suvdqN2yNRL9dRY3ECkVVtQAcKwzCH/j
 6mhwk8pZNSsOTupTn3wfwn9bVuP9uml20rBclveLtH6qTEvXk/OjRx1NOMO6Hvs9
 SrnoUVHl7gsPTFDch1J8dS3BfmMHLcAtvhQICfZ3+tm0pr2kB2ewwWxtdHlH4YMR
 3dM5A0R6uGg8iiUNcYy2XtlHjoZkkT50FnSFsagu9HhfmLLmJNxhxJP/VptL21+R
 ayK6lBFWghDy+yDfrx6BZXOgdd2SdjNOiMXM6jfPdAesJRbLBeOvoCGdUJ+HMqx9
 DOMAgckO2qHjlyAam0UIWGOOoPJKJBkwPLq5SoFzuK1Si8EpMbe5AU81tIa48dmP
 nKXdE4VDjKu4EZLPxvsiytueofdpuh5OGfQCxS0p0XhwmcScEWjj7J5v5TXv1zRV
 77YBCvcZzkUfaaYocM15DQQAA6aB8ZRi6e49e1zRP9mhLc45SgBycjYZVfMn8e34
 bqeryu3DN2sMU25lzYGiQ1X6w0hFyFqEtkOQsNP8angOua0JjRp/HMWdFk3JG0nQ
 5OA/6jV1cb4AMwlgML0vLpIiJ/Dnzf/pbj3bx0sOIpwzA0K+auphCUgwE1JJzcQN
 ynj1918gh11XkQJguDSKoTBNqIQYF8GSxa0NNVnZYUJmyLZjNtQ=
 =jeLE
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.16/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt

Devicetree changes for omaps for v5.16

These changes configure devices for am335x and dra7, and fixes
various devicetree check warnings for gta04:

- Update am335x-pocketbeagle to use pinconf-single

- A series of devicetree warning fixes for omap3 and gta04

- Configure bb2d Vivante GC 2D Accelerator for dra7

* tag 'omap-for-v5.16/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: dra7: add entry for bb2d module
  arm: dts: omap3-gta04: cleanup led node names
  arm: dts: omap3-gta04a4: accelerometer irq fix
  arm: dts: omap3-gta04a5: fix missing sensor supply
  arm: dts: omap3-gta04: fix missing sensor supply
  arm: dts: omap3-gta04: cleanup LCD definition
  ARM: dts: omap3: fix cpu thermal label name
  ARM: dts: am335x-pocketbeagle: switch to pinconf-single

Link: https://lore.kernel.org/r/pull-1633950030-501948@atomide.com-3
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 22:26:42 +02:00
Dan Carpenter
ee30840ba3 drm/v3d: fix copy_from_user() error codes
The copy_to/from_user() function returns the number of bytes remaining
to be copied, but we want to return -EFAULT on error.

Fixes: e4165ae830 ("drm/v3d: add multiple syncobjs support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211011123303.GA14314@kili
2021-10-11 21:21:14 +01:00
Arnd Bergmann
79619b7988 mt7623: add USB nodes
mt7629: update PCIe node to new format
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmFj7fIXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH4Igw/5AeNR03cfLy0uu0s83T/Vod0f
 u9ks8p+f9Xqw2dpe8BufeJs4qpPK0PiOmYNyHhjU/0klHm6DvgFFbNMvvENp/uSo
 Kv2uCfBgmqzCSIkLIe8KU1BbCgMudIXds4qHWSUcf92oihJsPED7OQc8YQxKLBC1
 x1LtLPBJWx/4myq3tDIt3Sa0cPk45t0ooR6yUROMFQ6fFJthwQ+4Kwtx2dVLoXbS
 92ubhPm4vzTx0TN54i5zejHixZ1DQ2y9qIDylAa/6QxKZb96PrsLnjMxn/ONxQLf
 NAIbayesCPDHCda0qz0fDeWN7h1imnuQ6WhhWoJLTW2Nkuv+FmoehqnCfifZC2nr
 9loS+AuKT5/jW1yXje6ICrrbxR6anxmBrD6cJIkvxQhmX8iHQsS3wQhZvh1R1/pV
 ULm4DYZt6dzIK2JrdQ0lSqOqJ4RmxqrHFnHxTVeXYRhP5AEFHXDyUsKexTt9dhbD
 t60UuUJgJ/J7MUIeAXzRhQPVhGWNEiCsGUftfAvMnSje7CWh2zdNsTuD/yBUlQXh
 6cSzckl6bgwItp2aCtVOefmkuAHMz/OCXiKeP94m3zyiebFhBbhVGZJwOpV3ISJ6
 nBaZUyFLZ7VOgh2PVgo4iTRod4Ytu6zl0WFzoBxQJevbQwVjvZVh320i2J2y7bMX
 /Ebgl5z1GJ/32SyrsE4=
 =ZupU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFkmxcACgkQmmx57+YA
 GNkPGxAAuH9TL/LANjLtbPDETLOG6cEkXOGX1jkGS0bb2qUasn6+b1qYFm/BHm9F
 VjXIbrfcqDahlVyDUcegmP1VC/pZv2+tSp+JuLhrEqjK7g1ToGGRIg5xUx6toaeC
 fYbysYhWNj0K0Q1jh974eExdVCQknjvKyoQST9mKMK6ORPTwM38DTj/8UQCXifmJ
 +eeQunrAD6ELO1/Mu3CsJ5/YxssM2IxGmohn00jn3hB6KUedH+KCB9GqNoSedZrh
 z17lNo+NMzfleDtx2N5qwkqOkHvNMBf8ugRlNGgED+R+sMM5Rjp3F1bFS1IQC3XU
 zhFQoZWXBmVCVyYIG2YoV/Wb0gMICUXMfOKgr7VuyyE9MpAyVMLVzvQkSXKbiOhX
 KxV89iNXLyZHlrU6Y3yaCLl8ivQ7wpJ4f00ytMNW6UROLViJc3u/nLu1sMEOCFg9
 6o8ers1/B3lgk2NCpm8ERssf8e2X2NZ1GA7HZ/PUAw+BVUzxOiVFSa1zPzwG5PaJ
 EKqeGjILKTIPbc3CE3YwiBKAGoO/MdN+0uMYQf0wynVH2iiSVHPL/vZ7FqPpE45Z
 h6r5IKGqAIEAgUzRT8NU2bt8t1QAxPVzSF77858Ah83ABLfwnDCckynLsBHW6a0N
 XIUP8yx1pIUz8OhIoPsZ5BktA1WrVxE0tX0lsjXnlJN8X6UglxM=
 =yDDU
 -----END PGP SIGNATURE-----

Merge tag 'v5.15-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt7623: add USB nodes
mt7629: update PCIe node to new format

* tag 'v5.15-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  dt-bindings: arm: Add MT6589 Fairphone 1
  ARM: dts: mediatek: Update MT7629 PCIe node for new format
  arm: dts: mt7623: add otg nodes for bpi-r2
  arm: dts: mt7623: add musb device nodes

Link: https://lore.kernel.org/r/7135d46f-5fb9-b46d-96d4-3b38548fe23e@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 22:14:10 +02:00
Arnd Bergmann
d1edc9865c arm64: tegra: Device tree changes for v5.16-rc1
This enables additional interrupts on the Tegra194 GPIO controller for
 better load balancing and/or virtualization, adds audio support on
 Jetson TX2 NX, enables the NVDEC video decoder on Tegra186 and later and
 enables more audio processors that are found on Tegra210 and later.
 
 Various cleanups across the board top things off.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmFgotUTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoaYVD/9XwbRdNCseQB/fj36HQPtyCPC8ZISd
 2RHu+Jx+XN0L4aChGaM4iBi1/RxrAcFHbQb4HI8IsI0IoMgHcfNSUd+rlfUNDzEX
 Wy1O3CoJa4Z8FO6i3PsRAEOCPZgudglhU5PNmnV32OoXSNSv9EzvWXI+EaZwb8fd
 VHF9yuXa1CXJqz5OuVoCIK/8IopbVf4w5qlgr+SJRok+j3xVTx68eMracvoTx71R
 I6kWGLk0vRfySUO8FQwi69RMqvzVH/doDiu9FZcB89OWPBCokgxQY0THLm1/A7c7
 VstmsQUodwflz47drrAQoel6RsqHmpAqbn+SfxpdKwCEQBcbXTSjCqJ5zfqIBaRC
 qJUb0oNB9mS2TbTZ4CQz579BcXy4FE+JW0nANO1tqkUqRa1JcJDN8P6CMJE04Dka
 fCG+IWs1IRBPeLEvbgg6fpJ581pVGr+sqKiGr9FnYHwKPLXNfyX6jCvtvWsXfmAo
 9u36b8kcdrAvGuEZTiumboIP81sGYYEzP4GjnOB7JjLbtUpGTllDDTuTJdSozScJ
 dlEzoLNuNJDqk3Lq0GqIdy0BTyJVy+9xudD8RpP+T3vvS3PvWp4GAQoH0k3pdbtV
 fLpgl8UM7uoPHKoFy80aqS0RTDoq8/818qnKLpAeurPsivu2pbLRTB29/10x8TYr
 1domUAtN/S44Bg==
 =rNmg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFkmi4ACgkQmmx57+YA
 GNmp6Q/9Hq2UTbGAcwfdtCyS8zazz3uyPoI6EToqyAA+FFllW6uIZrP1fo7UCjL3
 U95L9n4iyGGTf8Xm4isVxZoJlIPqf61eXb6kqVhMz9BpuEEcpvQ/SZgGVnIU7hmU
 rZeiQC5l2tK3o4EUrgRkLBJzY6jlcjEowRMxrjn6n7WUmdw1y1KwGe/BLC+6xrR3
 /q2VZzcVtMWUR7jucwOSdUtdyTKOADRuqHe7R7zjIkmkffOa/dimyJwBjT0YXFZo
 nl9W6TdLcDmu9gTTU7YAL1kvSG5kTri53jsRymBd6Tu9ZAqtaUGqqJ+b6VEf58KV
 S2Q8vu6OoGZonGCEtWO5OuR08fWdK09xJKrII/7gV4GVSPKZN0zrcb/ZOmOxhgvu
 UuO9UqGF45rhvgSIjyxXEAT/AKg1nIWL0x32Qex7n1sCl1M/uWLhhmWjp0aop0dK
 z+Gkso2Vqsj0/MGTNQHiDmCwsR9oNgxpB1DuD7ulsofQDqKcI3VcMth+WOiUPrs0
 cpr2gUpu/ZXT+yVDg2hgxiWuh+OoUa0IOC2l9iEPAehQDO/CmWuxOK+JoRH9NZFa
 Cyq86xsi+x1ocGqehu3Gn5k61iSzG+S9fjjBb1DEIlM+M8Xvejex59gX7hr48gDL
 WpT84s2iElQ6chDWDMgnZ3s3G1BKV6JsdcW2e6xYGuZG2Jwa1W4=
 =dOYU
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.16-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.16-rc1

This enables additional interrupts on the Tegra194 GPIO controller for
better load balancing and/or virtualization, adds audio support on
Jetson TX2 NX, enables the NVDEC video decoder on Tegra186 and later and
enables more audio processors that are found on Tegra210 and later.

Various cleanups across the board top things off.

* tag 'tegra-for-5.16-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Fix pcie-ep DT nodes
  arm64: tegra: Remove useless usb-ehci compatible string
  arm64: tegra: Extend APE audio support on Jetson platforms
  arm64: tegra: Add few AHUB devices for Tegra210 and later
  arm64: tegra: Remove unused backlight-boot-off property
  arm64: tegra: Add NVDEC to Tegra186/194 device trees
  arm64: tegra: Add new USB PHY properties on Tegra132
  arm64: tegra: Update HDA card name on Jetson TX2 NX
  arm64: tegra: Audio graph sound card for Jetson TX2 NX
  arm64: tegra: Add additional GPIO interrupt entries on Tegra194

Link: https://lore.kernel.org/r/20211008201132.1678814-7-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 22:10:22 +02:00
Heiner Kallweit
bf2928c7a2 PCI/VPD: Add pci_read/write_vpd_any()
In certain cases we need a variant of pci_read_vpd()/pci_write_vpd() that
does not check against dev->vpd.len. Such cases are:

  - Reading VPD if dev->vpd.len isn't set yet (in pci_vpd_size())

  - Devices that map non-VPD information to arbitrary places in VPD address
    space (example: Chelsio T3 EEPROM write-protect flag)

Therefore add pci_read_vpd_any() and pci_write_vpd_any() that check against
PCI_VPD_MAX_SIZE only.

Link: https://lore.kernel.org/r/93ecce28-a158-f02a-d134-8afcaced8efe@gmail.com
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
2021-10-11 15:10:11 -05:00
Arnd Bergmann
cda490402d dt-bindings: Changes for v5.16-rc1
This contains the DT bindings for the NVDEC hardware video decoder found
 on Tegra210 and later chips as well as a node name fix for the examples
 in the Tegra194 PCIe controller (endpoint mode) DT bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmFgnvwTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoeCFD/9cJsKiAMicIQurlDVI02Dxf6VKHbxX
 11z1jPWzOwBkLrvDISjpWkgN8CMuPEg2NHlZ2ei87nqqFPKWsvPVsib3iHUAy8QY
 EVgI5Y56VFamH8mBmiPlSe0XB3vcdIx+3xivylDiHRRYwX/VaVl5hGi5BZM903Iv
 T2/Ompq7Jyeif4yH+GOIbwS4gGVQKi+LywpYAMac1NfYWP4DrBCqLh5VyNZD5t2T
 9OgDby8DrhnAtGpTOyrrQfsPo42+N1LDufP3iU7Bx28fdQWRCcth130ZABNKtOR0
 4e0V21lnHlyMWZyjABuXxEX2cPy/MlSa3X9RCZsH7FJdYSZdQFzBvRnGC58PERek
 I2x0JIuYmQh/3LvbRMKVKdkd3qWdKEWaaHES/i/A+gBbQloHYEIp3fkkga8SmU21
 BwCMB/OtPbpRI62aXSQ6C0VHLKdqwdHHwkjpbvdo2tQQfO5MdW074hLMAQacmzIj
 B7qg55bt465lL6253oCjXswN/CBlHqQ7OJNUE0EIbKsRGy4u3L9YdKPZwidn+qB2
 xArO0CkybZO3shPnwvzeZ2bZ34oU3tPgAYZI8UrGDgUB/lgjKVQeDGwQb0gbKCkS
 w3L+xnS7L2XbjHwXL73x0YVtUWYFVl7zvLcgDf73slOydO+2P34x6nylsNmhD19p
 lZAKTDbxlsX8XA==
 =TONa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFklpwACgkQmmx57+YA
 GNnsoBAAgWmtn9EZOA4QVWwgcGoBU9BE8iEiJQe7ENupZ+ofjQvez6p57AM0phfM
 b2sctz66Rba2SabBqq8fGt1zOMH3RAmnY8QNhdJX22xyLltmX7dPJV2VlTBVTOGn
 p69aVgUL1cLIU7LGdUAW5fTgiu5kNLG+XsFZaIPh0iVy9tDfwFs1hYNWnasivm2u
 1A/sp+NGVA/YNdvun6gU/hXOqG20YFAUxushZthDZwdspYnyB5JBkNyRC27LQknb
 cJ9Y/su3PWKNZrE6e0Kcln7mhZ4303vciZfhzVrrG3HpKxu2jrowNKTbZLhJFXRp
 JkCY/bhhPc9VpZPfc34tBdiU7Y7Xo44R3IdqY77/+Pi0wXpxFyY+b0rAFSqWlOag
 j489y4Casg7wPebpvmhi+YtkmujpxLV455V/qb8Nyu8Zv5TNAjkb/sGDXnRsSrZl
 ijNXJ40/DknbAXeXFLbhWzuuKxN6wAKGgZTPAsPVchgTDll7IULJERZlgXzc4KKg
 rN0f7r00ECj0uS6Wm66+HUtPvQrTJE8w8++dhFzUXeR8mjUTUbD2TJ7XaFHlDAzQ
 qUpa8UylfJvUsHvQIPQKUnNEc0jQrkAkgI5YCRa+5szIKIx/KtDCyD6AVJgGo+0c
 QvK0xsU5h/U+KUjtuJG5uzOSH08U57T1F1JZVdoB/CG6lEIPkL8=
 =cvhE
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.16-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

dt-bindings: Changes for v5.16-rc1

This contains the DT bindings for the NVDEC hardware video decoder found
on Tegra210 and later chips as well as a node name fix for the examples
in the Tegra194 PCIe controller (endpoint mode) DT bindings.

* tag 'tegra-for-5.16-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: PCI: tegra194: Fix PCIe endpoint node names
  dt-bindings: Add YAML bindings for NVDEC

Link: https://lore.kernel.org/r/20211008201132.1678814-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 21:55:08 +02:00
Chunyan Zhang
23410de579
arm64: dts: Add support for Unisoc's UMS512
Add basic DT to support Unisoc's UMS512, with this patch,
the board ums512-1h10 can run into console.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Link: https://lore.kernel.org/r/20211008034533.343167-3-zhang.lyra@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 21:53:55 +02:00
Chunyan Zhang
77d7e51ebe
dt-bindings: arm: Add bindings for Unisoc's UMS512
Added bindings for Unisoc's ums512-1h10 board and ums512 SoC.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211008034533.343167-2-zhang.lyra@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-11 21:53:54 +02:00
Randy Dunlap
f85d9e59f1 drm/connector: fix all kernel-doc warnings
Clean up all of the kernel-doc issues in drm_connector.c:

drivers/gpu/drm/drm_connector.c:2611: warning: Excess function parameter 'connector' description in 'drm_connector_oob_hotplug_event'
drivers/gpu/drm/drm_connector.c:2611: warning: Function parameter or member 'connector_fwnode' not described in 'drm_connector_oob_hotplug_event'

drm_connector.c:630: warning: No description found for return value of 'drm_get_connector_status_name'
drm_connector.c:715: warning: No description found for return value of 'drm_connector_list_iter_next'
drm_connector.c:785: warning: No description found for return value of 'drm_get_subpixel_order_name'
drm_connector.c:816: warning: No description found for return value of 'drm_display_info_set_bus_formats'
drm_connector.c:1331: warning: No description found for return value of 'drm_mode_create_dvi_i_properties'
drm_connector.c:1412: warning: No description found for return value of 'drm_connector_attach_content_type_property'
drm_connector.c:1492: warning: No description found for return value of 'drm_mode_create_tv_margin_properties'
drm_connector.c:1534: warning: No description found for return value of 'drm_mode_create_tv_properties'
drm_connector.c:1627: warning: No description found for return value of 'drm_mode_create_scaling_mode_property'
drm_connector.c:1944: warning: No description found for return value of 'drm_mode_create_suggested_offset_properties'

drm_connector.c:2315: warning: missing initial short description on line:
 * drm_connector_set_panel_orientation_with_quirk -

[The last warning listed is probably a quirk/bug in scripts/kernel-doc.]

Fixes: 613051dac4 ("drm: locking&new iterators for connector_list")
Fixes: 5221719517 ("drm: Extract drm_connector.[hc]")
Fixes: b3c6c8bfe3 ("drm: document drm_display_info")
Fixes: 50525c332b ("drm: content-type property for HDMI connector")
Fixes: 6c4f52dca3 ("drm/connector: Allow creation of margin props alone")
Fixes: 69654c632d ("drm/connector: Split out orientation quirk detection (v2)")
Fixes: 72ad49682d ("drm/connector: Add support for out-of-band hotplug notification (v3)")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Derek Basehore <dbasehore@chromium.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211010224459.3603-1-rdunlap@infradead.org
2021-10-11 21:46:58 +02:00
Andy Shevchenko
b2f583937a s390/cmm: use string_upper() instead of open coded variant
Use string_upper() from string helper module instead of open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20211001130201.72545-1-andriy.shevchenko@linux.intel.com
[hca@linux.ibm.com: removed hunk which converts extmem.c]
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:59 +02:00
Heiko Carstens
a30b5b0304 s390/ptrace: add function argument access API
Add regs_get_kernel_argument() which returns Nth argument of a
function call.

This enables ftrace kprobe events to access kernel function arguments
via $argN syntax.

This is the s390 variant of commit a823c35ff2 ("arm64: ptrace: Add
function argument access API").

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:59 +02:00
Heiko Carstens
3990b5baf2 selftests/ftrace: add s390 support for kprobe args tests
This is the s390 variant of commit 9855c4626c ("selftests/ftrace:
Add ppc support for kprobe args tests").

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:59 +02:00
Heiko Carstens
885359c429 s390/ptrace: fix coding style
Reported-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
894979689d s390/ftrace: provide separate ftrace_caller/ftrace_regs_caller implementations
ftrace_regs_caller is an alias to ftrace_caller - making ftrace_caller
quite heavyweight. Split the function and provide an ftrace_caller
implementation which comes with fewer instructions. Especially getting
rid of 'stosm' on each function entry should help here, e.g. to
have less performance impact on live patched functions.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
176510ebec s390/ftrace: add ftrace_instruction_pointer_set() helper function
Add ftrace_instruction_pointer_set() helper function to match x86.
See commit 2860cd8a23 ("livepatch: Use the default ftrace_ops
instead of REGS when ARGS is available").

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
5740a7c71a s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS support
Add HAVE_DYNAMIC_FTRACE_WITH_ARGS support similar to commit 02a474ca26
("ftrace/x86: Allow for arguments to be passed in to ftrace_regs by default").

s390's ftrace implementation always provides all registers with
pt_regs, therefore this is trivial.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
0c14c03795 s390/jump_label: add __init_or_module annotation
Add missing __init_or_module to arch_jump_label_transform_static().

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
acd6c9afc6 s390/jump_label: rename __jump_label_transform()
Trivial patch just to get rid of the leading underscores.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
4e0502b8b3 s390/jump_label: make use of HAVE_JUMP_LABEL_BATCH
Specify HAVE_JUMP_LABEL_BATCH in header file. This allows to make use
of the arch_jump_label_transform_queue()/arch_jump_label_transform_apply()
mechanism.

However unlike on x86, which currently is the only user of this
mechanism, the to be patched instructions are still directly
modified. The only difference to before is that serialization is only
done after all instructions have been modified. This way the number of
serialization/synchronization events is reduced.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
e5873d6f7a s390/ftrace: add missing serialization for graph caller patching
CPUs must be serialized also when ftrace_graph_caller gets patched.
This is missing since ftrace function graph support was added on s390.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
ae2b9a11b4 s390/ftrace: use text_poke_sync_lock()
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
1c27dfb24e s390/jump_label: use text_poke_sync()
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
e16d02ee3f s390: introduce text_poke_sync()
Introduce a text_poke_sync() similar to what x86 has. This can be
used to execute a serializing instruction on all CPUs (including
the current one).

Note: according to the Principles of Operation an IPI (= interrupt)
will already serialize a CPU, however it is better to be explicit. In
addition on_each_cpu() makes sure that also the current CPU get
serialized - just to make sure that possible preemption can prevent
some theoretical case where a CPU will not be serialized.

Therefore text_poke_sync() has to be used whenever code got modified,
just to avoid to rely on implicit serialization.

Also introduce text_poke_sync_lock() which will also disable CPU
hotplug, to prevent that any CPU is just going online with a
prefetched old version of a modified instruction.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Heiko Carstens
fbbd140737 s390/barrier: factor out bcr_serialize()
Factor out bcr_serialize() inline assembly function which describes
what the bcr instruction is used for.
Use bcr_serialize() like before in mb(), but also in upcoming changes.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Mete Durlu
25d36a85c6 s390/test_unwind: convert to KUnit
Modified stack unwinder self tests to use kunit framework. The
functionality stayed the same but the output format is now in tap13
format.

Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Mete Durlu <meted@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Randy Dunlap
4a667ba873 s390/debug: fix kernel-doc warnings
Fix kernel-doc warning due to incorrect parameter name in
kernel-doc function notation:

../arch/s390/include/asm/debug.h:484: warning: Function parameter or member 'pages' not described in 'DEFINE_STATIC_DEBUG_INFO'
../arch/s390/include/asm/debug.h:484: warning: Excess function parameter 'pages_per_area' description in 'DEFINE_STATIC_DEBUG_INFO'

Fixes: d72541f945 ("s390/debug: add early tracing support")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: Peter Oberparleiter <oberpar@linux.ibm.com>
Link: https://lore.kernel.org/r/20211005051657.16714-1-rdunlap@infradead.org
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-10-11 20:55:58 +02:00
Chenyuan Mi
ac2c63757f orangefs: Fix sb refcount leak when allocate sb info failed.
The reference counting issue happens in one exception handling
path of orangefs_mount(). When failing to allocate sb info, the
function forgets to decrease the refcount of sb increased by
sget(), causing a refcount leak.

Fix this issue by jumping to the label "free_sb_and_op" instead
of "free_op"

Signed-off-by: Chenyuan Mi <cymi20@fudan.edu.cn>
Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2021-10-11 14:25:41 -04:00
Jia-Ju Bai
4c2b46c824 fs: orangefs: fix error return code of orangefs_revalidate_lookup()
When op_alloc() returns NULL to new_op, no error return code of
orangefs_revalidate_lookup() is assigned.
To fix this bug, ret is assigned with -ENOMEM in this case.

Fixes: 8bb8aefd5a ("OrangeFS: Change almost all instances of the string PVFS2 to OrangeFS.")
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2021-10-11 14:25:34 -04:00
Colin Ian King
507874c08f orangefs: Remove redundant initialization of variable ret
The variable ret is being initialized with a value that is never read, it
is being updated later on. The assignment is redundant and can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2021-10-11 14:25:21 -04:00
Mike Kravetz
2e5809a4dd arm64/hugetlb: fix CMA gigantic page order for non-4K PAGE_SIZE
For non-4K PAGE_SIZE configs, the largest gigantic huge page size is
CONT_PMD_SHIFT order. On arm64 with 64K PAGE_SIZE, the gigantic page is
16G. Therefore, one should be able to specify 'hugetlb_cma=16G' on the
kernel command line so that one gigantic page can be allocated from CMA.
However, when adding such an option the following message is produced:

hugetlb_cma: cma area should be at least 8796093022208 MiB

This is because the calculation for non-4K gigantic page order is
incorrect in the arm64 specific routine arm64_hugetlb_cma_reserve().

Fixes: abb7962adc ("arm64/hugetlb: Reserve CMA areas for gigantic pages on 16K and 64K configs")
Cc: <stable@vger.kernel.org> # 5.9.x
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20211005202529.213812-1-mike.kravetz@oracle.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-10-11 18:45:19 +01:00
Borislav Petkov
711885906b x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically
This Kconfig option was added initially so that memory encryption is
enabled by default on machines which support it.

However, devices which have DMA masks that are less than the bit
position of the encryption bit, aka C-bit, require the use of an IOMMU
or the use of SWIOTLB.

If the IOMMU is disabled or in passthrough mode, the kernel would switch
to SWIOTLB bounce-buffering for those transfers.

In order to avoid that,

  2cc13bb4f5 ("iommu: Disable passthrough mode when SME is active")

disables the default IOMMU passthrough mode so that devices for which the
default 256K DMA is insufficient, can use the IOMMU instead.

However 2, there are cases where the IOMMU is disabled in the BIOS, etc.
(think the usual hardware folk "oops, I dropped the ball there" cases) or a
driver doesn't properly use the DMA APIs or a device has a firmware or
hardware bug, e.g.:

  ea68573d40 ("drm/amdgpu: Fail to load on RAVEN if SME is active")

However 3, in the above GPU use case, there are APIs like Vulkan and
some OpenGL/OpenCL extensions which are under the assumption that
user-allocated memory can be passed in to the kernel driver and both the
GPU and CPU can do coherent and concurrent access to the same memory.
That cannot work with SWIOTLB bounce buffers, of course.

So, in order for those devices to function, drop the "default y" for the
SME by default active option so that users who want to have SME enabled,
will need to either enable it in their config or use "mem_encrypt=on" on
the kernel command line.

 [ tlendacky: Generalize commit message. ]

Fixes: 7744ccdbc1 ("x86/mm: Add Secure Memory Encryption (SME) support")
Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/8bbacd0e-4580-3194-19d2-a0ecad7df09c@molgen.mpg.de
2021-10-11 19:14:22 +02:00
Johan Hovold
57116ce17b workqueue: fix state-dump console deadlock
Console drivers often queue work while holding locks also taken in their
console write paths, something which can lead to deadlocks on SMP when
dumping workqueue state (e.g. sysrq-t or on suspend failures).

For serial console drivers this could look like:

	CPU0				CPU1
	----				----

	show_workqueue_state();
	  lock(&pool->lock);		<IRQ>
	  				  lock(&port->lock);
					  schedule_work();
					    lock(&pool->lock);
	  printk();
	    lock(console_owner);
	    lock(&port->lock);

where workqueues are, for example, used to push data to the line
discipline, process break signals and handle modem-status changes. Line
disciplines and serdev drivers can also queue work on write-wakeup
notifications, etc.

Reworking every console driver to avoid queuing work while holding locks
also taken in their write paths would complicate drivers and is neither
desirable or feasible.

Instead use the deferred-printk mechanism to avoid printing while
holding pool locks when dumping workqueue state.

Note that there are a few WARN_ON() assertions in the workqueue code
which could potentially also trigger a deadlock. Hopefully the ongoing
printk rework will provide a general solution for this eventually.

This was originally reported after a lockdep splat when executing
sysrq-t with the imx serial driver.

Fixes: 3494fc3084 ("workqueue: dump workqueues on sysrq-t")
Cc: stable@vger.kernel.org	# 4.0
Reported-by: Fabio Estevam <festevam@denx.de>
Tested-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
2021-10-11 06:50:28 -10:00
Uwe Kleine-König
90c45fc15a drm/panel: s6e63m0: Make s6e63m0_remove() return void
Up to now s6e63m0_remove() returns zero unconditionally. Make it return
void instead which makes it easier to see in the callers that there is
no error to handle.

Also the return value of spi remove callbacks is ignored anyway.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211011132754.2479853-2-u.kleine-koenig@pengutronix.de
2021-10-11 18:49:29 +02:00
Konstantin Komarov
22b05f1ac0
fs/ntfs3: Refactor ntfs_read_mft
Don't save size of attribute reparse point as size of symlink.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:28:06 +03:00
Konstantin Komarov
cd4c76ff80
fs/ntfs3: Refactor ni_parse_reparse
Change argument from void* to struct REPARSE_DATA_BUFFER*
We copy data to buffer, so we can read it later in ntfs_read_mft.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:28:06 +03:00
Konstantin Komarov
14a981193e
fs/ntfs3: Refactor ntfs_create_inode
Set size for symlink, so we don't need to calculate it on the fly.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:28:05 +03:00
Konstantin Komarov
4dbe8e4413
fs/ntfs3: Refactor ntfs_readlink_hlp
Rename some variables.
Returned err by default is EINVAL.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:28:05 +03:00
Konstantin Komarov
2c69078851
fs/ntfs3: Rework ntfs_utf16_to_nls
Now ntfs_utf16_to_nls takes length as one of arguments.
If length of symlink > 255, then we tried to convert
length of symlink +- some random number.
Now 255 symbols limit was removed.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:28:04 +03:00
Matthew Auld
e02083f0bc drm/i915: remember to call i915_sw_fence_fini
Seems to fix some object-debug splat which appeared while debugging
something unrelated.

v2: s/guc_blocked/guc_state.blocked/

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Fixes: 62eaf0ae21 ("drm/i915/guc: Support request cancellation")
Link: https://patchwork.freedesktop.org/patch/msgid/20210924144646.4096402-1-matthew.auld@intel.com
(cherry picked from commit d576b31bde)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2021-10-11 19:27:18 +03:00
Mark Brown
45ea862008
Merge series "ASoC: Intel: bytcr_rt5651: few cleanups" from Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
The small set of cleanups against bytcr_rt5651 board file.

In v2:
- added commit message to patch 2 (Joe, Pierre)
- added cover letter (Pierre)
- added Hans to Cc list (Hans)

Andy Shevchenko (4):
  ASoC: Intel: bytcr_rt5651: Get platform data via dev_get_platdata()
  ASoC: Intel: bytcr_rt5651: Use temporary variable for struct device
  ASoC: Intel: bytcr_rt5651: use devm_clk_get_optional() for mclk
  ASoC: Intel: bytcr_rt5651: Utilize dev_err_probe() to avoid log
    saturation

 sound/soc/intel/boards/bytcr_rt5651.c | 118 +++++++++++---------------
 1 file changed, 50 insertions(+), 68 deletions(-)

--
2.33.0
2021-10-11 17:25:37 +01:00
Konstantin Komarov
9b75450d6c
fs/ntfs3: Fix memory leak if fill_super failed
In ntfs_init_fs_context we allocate memory in fc->s_fs_info.
In case of failed mount we must free it in ntfs_fill_super.
We can't do it in ntfs_fs_free, because ntfs_fs_free called
with fc->s_fs_info == NULL.
fc->s_fs_info became NULL in sget_fc.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:17:48 +03:00
Takashi Iwai
228af5a4fa ALSA: pcm: Workaround for a wrong offset in SYNC_PTR compat ioctl
Michael Forney reported an incorrect padding type that was defined in
the commit 80fe7430c7 ("ALSA: add new 32-bit layout for
snd_pcm_mmap_status/control") for PCM control mmap data.
His analysis is correct, and this caused the misplacements of PCM
control data on 32bit arch and 32bit compat mode.

The bug is that the __pad2 definition in __snd_pcm_mmap_control64
struct was wrongly with __pad_before_uframe, which should have been
__pad_after_uframe instead.  This struct is used in SYNC_PTR ioctl and
control mmap.  Basically this bug leads to two problems:

- The offset of avail_min field becomes wrong, it's placed right after
  appl_ptr without padding on little-endian

- When appl_ptr and avail_min are read as 64bit values in kernel side,
  the values become either zero or corrupted (mixed up)

One good news is that, because both user-space and kernel
misunderstand the wrong offset, at least, 32bit application running on
32bit kernel works as is.  Also, 64bit applications are unaffected
because the padding size is zero.  The remaining problem is the 32bit
compat mode; as mentioned in the above, avail_min is placed right
after appl_ptr on little-endian archs, 64bit kernel reads bogus values
for appl_ptr updates, which may lead to streaming bugs like jumping,
XRUN or whatever unexpected.
(However, we haven't heard any serious bug reports due to this over
years, so practically seen, it's fairly safe to assume that the impact
by this bug is limited.)

Ideally speaking, we should correct the wrong mmap status control
definition.  But this would cause again incompatibility with the
existing binaries, and fixing it (e.g. by renumbering ioctls) would be
really messy.

So, as of this patch, we only correct the behavior of 32bit compat
mode and keep the rest as is.  Namely, the SYNC_PTR ioctl is now
handled differently in compat mode to read/write the 32bit values at
the right offsets.  The control mmap of 32bit apps on 64bit kernels
has been already disabled (which is likely rather an overlook, but
this worked fine at this time :), so covering SYNC_PTR ioctl should
suffice as a fallback.

Fixes: 80fe7430c7 ("ALSA: add new 32-bit layout for snd_pcm_mmap_status/control")
Reported-by: Michael Forney <mforney@mforney.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Cc: <stable@vger.kernel.org>
Cc: Rich Felker <dalias@libc.org>
Link: https://lore.kernel.org/r/29QBMJU8DE71E.2YZSH8IHT5HMH@mforney.org
Link: https://lore.kernel.org/r/20211010075546.23220-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-11 18:10:47 +02:00
Konstantin Komarov
ce46ae0c3e
fs/ntfs3: Keep prealloc for all types of files
Before we haven't kept prealloc for sparse files because we thought that
it will speed up create / write operations.
It lead to situation, when user reserved some space for sparse file,
filled volume, and wasn't able to write in reserved file.
With this commit we keep prealloc.
Now xfstest generic/274 pass.
Fixes: be71b5cba2 ("fs/ntfs3: Add attrib operations")

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2021-10-11 19:10:19 +03:00
Michal Swiatkowski
7fde6d8b44 ice: ndo_setup_tc implementation for PR
Add tc-flower support for VF port representor devices.

Implement ndo_setup_tc callback for TC HW offload on VF port representors
devices. Implemented both methods: add and delete tc-flower flows.

Mark NETIF_F_HW_TC bit in net device's feature set to enable offload TC
infrastructure for port representor.

Implement TC filters replay function required to restore filters settings
while switchdev configuration is rebuilt.

Signed-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>
Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-10-11 09:03:08 -07:00
Kiran Patil
0d08a441fb ice: ndo_setup_tc implementation for PF
Implement ndo_setup_tc net device callback for TC HW offload on PF device.

ndo_setup_tc provides support for HW offloading various TC filters.
Add support for configuring the following filter with tc-flower:
- default L2 filters (src/dst mac addresses, ethertype, VLAN)
- variations of L3, L3+L4, L2+L3+L4 filters using advanced filters
(including ipv4 and ipv6 addresses).

Allow for adding/removing TC flows when PF device is configured in
eswitch switchdev mode. Two types of actions are supported at the
moment: FLOW_ACTION_DROP and FLOW_ACTION_REDIRECT.

Co-developed-by: Priyalee Kushwaha <priyalee.kushwaha@intel.com>
Signed-off-by: Priyalee Kushwaha <priyalee.kushwaha@intel.com>
Signed-off-by: Kiran Patil <kiran.patil@intel.com>
Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-10-11 09:03:04 -07:00