commit 0106d88e2d2781a962e99c11d1ab336b0d7e893f
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Dec 21 17:41:16 2022 +0100

    Linux 6.0.15
    
    Link: https://lore.kernel.org/r/20221219182944.179389009@linuxfoundation.org
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Tested-by: Ron Economos <re@w6rz.net>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Slade Watkins <srw@sladewatkins.net>
    Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb6ca98c8177698570e277612e422251953cfee7
Author: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Date:   Wed Nov 23 15:18:28 2022 +0100

    net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
    
    [ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]
    
    When the name_assign_type attribute was introduced (commit
    685343fc3ba6, "net: add name_assign_type netdev attribute"), the
    loopback device was explicitly mentioned as one which would make use
    of NET_NAME_PREDICTABLE:
    
        The name_assign_type attribute gives hints where the interface name of a
        given net-device comes from. These values are currently defined:
    ...
          NET_NAME_PREDICTABLE:
            The ifname has been assigned by the kernel in a predictable way
            that is guaranteed to avoid reuse and always be the same for a
            given device. Examples include statically created devices like
            the loopback device [...]
    
    Switch to that so that reading /sys/class/net/lo/name_assign_type
    produces something sensible instead of returning -EINVAL.
    
    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 251f65fde6b3b235cb04b3c3d4dc97505e3b12db
Author: Tiezhu Yang <yangtiezhu@loongson.cn>
Date:   Thu Dec 1 11:10:48 2022 +0800

    selftests: net: Use "grep -E" instead of "egrep"
    
    [ Upstream commit 6a30d3e3491dc562384e9f15b201a8a25b57439f ]
    
    The latest version of grep claims the egrep is now obsolete so the build
    now contains warnings that look like:
            egrep: warning: egrep is obsolescent; using grep -E
    fix this using "grep -E" instead.
    
      sed -i "s/egrep/grep -E/g" `grep egrep -rwl tools/testing/selftests/net`
    
    Here are the steps to install the latest grep:
    
      wget http://ftp.gnu.org/gnu/grep/grep-3.8.tar.gz
      tar xf grep-3.8.tar.gz
      cd grep-3.8 && ./configure && make
      sudo make install
      export PATH=/usr/local/bin:$PATH
    
    Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
    Link: https://lore.kernel.org/r/1669864248-829-1-git-send-email-yangtiezhu@loongson.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5550bbf709c323194881737fd290c4bada9e6ead
Author: Sungwoo Kim <iam@sung-woo.kim>
Date:   Fri Nov 18 15:01:47 2022 -0500

    Bluetooth: L2CAP: Fix u8 overflow
    
    [ Upstream commit bcd70260ef56e0aee8a4fc6cd214a419900b0765 ]
    
    By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases
    multiple times and eventually it will wrap around the maximum number
    (i.e., 255).
    This patch prevents this by adding a boundary check with
    L2CAP_MAX_CONF_RSP
    
    Btmon log:
    Bluetooth monitor ver 5.64
    = Note: Linux version 6.1.0-rc2 (x86_64)                               0.264594
    = Note: Bluetooth subsystem version 2.22                               0.264636
    @ MGMT Open: btmon (privileged) version 1.22                  {0x0001} 0.272191
    = New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0)          [hci0] 13.877604
    @ RAW Open: 9496 (privileged) version 2.22                   {0x0002} 13.890741
    = Open Index: 00:00:00:00:00:00                                [hci0] 13.900426
    (...)
    > ACL Data RX: Handle 200 flags 0x00 dlen 1033             #32 [hci0] 14.273106
            invalid packet size (12 != 1033)
            08 00 01 00 02 01 04 00 01 10 ff ff              ............
    > ACL Data RX: Handle 200 flags 0x00 dlen 1547             #33 [hci0] 14.273561
            invalid packet size (14 != 1547)
            0a 00 01 00 04 01 06 00 40 00 00 00 00 00        ........@.....
    > ACL Data RX: Handle 200 flags 0x00 dlen 2061             #34 [hci0] 14.274390
            invalid packet size (16 != 2061)
            0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04  ........@.......
    > ACL Data RX: Handle 200 flags 0x00 dlen 2061             #35 [hci0] 14.274932
            invalid packet size (16 != 2061)
            0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00  ........@.......
    = bluetoothd: Bluetooth daemon 5.43                                   14.401828
    > ACL Data RX: Handle 200 flags 0x00 dlen 1033             #36 [hci0] 14.275753
            invalid packet size (12 != 1033)
            08 00 01 00 04 01 04 00 40 00 00 00              ........@...
    
    Signed-off-by: Sungwoo Kim <iam@sung-woo.kim>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e6a4c98a4c143f24a02e70e186cf5b3849472736
Author: Nikolaus Voss <nikolaus.voss@haag-streit.com>
Date:   Wed Oct 19 18:38:20 2022 +0200

    KEYS: encrypted: fix key instantiation with user-provided data
    
    commit 5adedd42245af0860ebda8fe0949f24f5204c1b1 upstream.
    
    Commit cd3bc044af48 ("KEYS: encrypted: Instantiate key with
    user-provided decrypted data") added key instantiation with user
    provided decrypted data.  The user data is hex-ascii-encoded but was
    just memcpy'ed to the binary buffer. Fix this to use hex2bin instead.
    
    Old keys created from user provided decrypted data saved with "keyctl
    pipe" are still valid, however if the key is recreated from decrypted
    data the old key must be converted to the correct format. This can be
    done with a small shell script, e.g.:
    
    BROKENKEY=abcdefABCDEF1234567890aaaaaaaaaa
    NEWKEY=$(echo -ne $BROKENKEY | xxd -p -c32)
    keyctl add user masterkey "$(cat masterkey.bin)" @u
    keyctl add encrypted testkey "new user:masterkey 32 $NEWKEY" @u
    
    However, NEWKEY is still broken: If for BROKENKEY 32 bytes were
    specified, a brute force attacker knowing the key properties would only
    need to try at most 2^(16*8) keys, as if the key was only 16 bytes long.
    
    The security issue is a result of the combination of limiting the input
    range to hex-ascii and using memcpy() instead of hex2bin(). It could
    have been fixed either by allowing binary input or using hex2bin() (and
    doubling the ascii input key length). This patch implements the latter.
    
    The corresponding test for the Linux Test Project ltp has also been
    fixed (see link below).
    
    Fixes: cd3bc044af48 ("KEYS: encrypted: Instantiate key with user-provided decrypted data")
    Cc: stable@kernel.org
    Link: https://lore.kernel.org/ltp/20221006081709.92303897@mail.steuer-voss.de/
    Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
    Signed-off-by: Nikolaus Voss <nikolaus.voss@haag-streit.com>
    Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b4270b0ad52558f420752005186cfc46550a2343
Author: Shruthi Sanil <shruthi.sanil@intel.com>
Date:   Fri Nov 25 16:23:27 2022 +0530

    usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake
    
    commit f05f80f217bf52443a2582bca19fd78188333f25 upstream.
    
    The device ID 0xa70e is defined for the USB3 device controller in the CPU
    sub-system of Raptor Lake platform. Hence updating the ID accordingly.
    
    Fixes: bad0d1d726ac ("usb: dwc3: pci: Add support for Intel Raptor Lake")
    Cc: stable <stable@kernel.org>
    Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Signed-off-by: Shruthi Sanil <shruthi.sanil@intel.com>
    Link: https://lore.kernel.org/r/20221125105327.27945-1-shruthi.sanil@intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 160416b397c362e37b590040a089604dd1f37de1
Author: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Date:   Wed Nov 23 11:30:21 2022 +0200

    usb: typec: ucsi: Resume in separate work
    
    commit e0dced9c7d4763fd97c86a13902d135f03cc42eb upstream.
    
    It can take more than one second to check each connector
    when the system is resumed. So if you have, say, eight
    connectors, it may take eight seconds for ucsi_resume() to
    finish. That's a bit too much.
    
    This will modify ucsi_resume() so that it schedules a work
    where the interface is actually resumed instead of checking
    the connectors directly. The connections will also be
    checked in separate tasks which are queued for each connector
    separately.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=216706
    Fixes: 99f6d4361113 ("usb: typec: ucsi: Check the connection on resume")
    Cc: <stable@vger.kernel.org>
    Reported-by: Todd Brandt <todd.e.brandt@intel.com>
    Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Link: https://lore.kernel.org/r/20221123093021.25981-1-heikki.krogerus@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 51fd5ede7ed42f272682a0c33d6f0767b3484a3d
Author: Tony Nguyen <anthony.l.nguyen@intel.com>
Date:   Mon Dec 12 11:00:31 2022 -0800

    igb: Initialize mailbox message for VF reset
    
    commit de5dc44370fbd6b46bd7f1a1e00369be54a041c8 upstream.
    
    When a MAC address is not assigned to the VF, that portion of the message
    sent to the VF is not set. The memory, however, is allocated from the
    stack meaning that information may be leaked to the VM. Initialize the
    message buffer to 0 so that no information is passed to the VM in this
    case.
    
    Fixes: 6ddbc4cf1f4d ("igb: Indicate failure on vf reset for empty mac address")
    Reported-by: Akihiko Odaki <akihiko.odaki@daynix.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
    Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/20221212190031.3983342-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 568be5b02164ea82f57e02f1ee13a309e2013214
Author: Reka Norman <rekanorman@chromium.org>
Date:   Wed Nov 30 11:19:40 2022 +0200

    xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
    
    commit fed70b61ef2c0aed54456db3d485b215f6cc3209 upstream.
    
    ADL-N systems have the same issue as ADL-P, where a large boot firmware
    delay is seen if USB ports are left in U3 at shutdown. So apply the
    XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
    
    This patch depends on commit 34cd2db408d5 ("xhci: Add quirk to reset
    host back to default state at shutdown").
    
    The issue it fixes is a ~20s boot time delay when booting from S5. It
    affects ADL-N devices, and ADL-N support was added starting from v5.16.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Reka Norman <rekanorman@chromium.org>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20221130091944.2171610-3-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fc9dabda50108649f2da2b4b1e84125e8d52914a
Author: Andy Chi <andy.chi@canonical.com>
Date:   Mon Nov 28 10:28:47 2022 +0800

    ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
    
    commit 1d8025ec722d5e011f9299c46274eb21fb54a428 upstream.
    
    There is a HP ProBook which using ALC236 codec and need the
    ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF quirk to make mute LED and
    micmute LED work.
    
    Signed-off-by: Andy Chi <andy.chi@canonical.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20221128022849.13759-1-andy.chi@canonical.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 664c7846ed3fcf54606f423cebbda05afb5c4f5d
Author: Johan Hovold <johan@kernel.org>
Date:   Tue Nov 29 15:18:19 2022 +0100

    USB: serial: f81534: fix division by zero on line-speed change
    
    commit 188c9c2e0c7f4ae864113f80c40bafb394062271 upstream.
    
    The driver leaves the line speed unchanged in case a requested speed is
    not supported. Make sure to handle the case where the current speed is
    B0 (hangup) without dividing by zero when determining the clock source.
    
    Fixes: 3aacac02f385 ("USB: serial: f81534: add high baud rate support")
    Cc: stable@vger.kernel.org      # 4.16
    Cc: Ji-Ze Hong (Peter Hong) <hpeter@gmail.com>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f0fe2ed6fd3804e18a2d56e834e263ecd8b03a1a
Author: Johan Hovold <johan@kernel.org>
Date:   Tue Nov 29 15:17:49 2022 +0100

    USB: serial: f81232: fix division by zero on line-speed change
    
    commit a08ca6ebafe615c9028c53fc4c9e6c9b2b1f2888 upstream.
    
    The driver leaves the line speed unchanged in case a requested speed is
    not supported. Make sure to handle the case where the current speed is
    B0 (hangup) without dividing by zero when determining the clock source.
    
    Fixes: 268ddb5e9b62 ("USB: serial: f81232: add high baud rate support")
    Cc: stable@vger.kernel.org      # 5.2
    Cc: Ji-Ze Hong (Peter Hong) <hpeter@gmail.com>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 05d0741c8175d6a2d518b6024b7dd986ee396955
Author: Bruno Thomsen <bruno.thomsen@gmail.com>
Date:   Sun Nov 27 18:08:11 2022 +0100

    USB: serial: cp210x: add Kamstrup RF sniffer PIDs
    
    commit e88906b169ebcb8046e8f0ad76edd09ab41cfdfe upstream.
    
    The RF sniffers are based on cp210x where the RF frontends
    are based on a different USB stack.
    
    RF sniffers can analyze packets meta data including power level
    and perform packet injection.
    
    Can be used to perform RF frontend self-test when connected to
    a concentrator, ex. arch/arm/boot/dts/imx7d-flex-concentrator.dts
    
    Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87e659b8521db0c3c997de607cf7fc45f49da3e2
Author: Duke Xin <duke_xinanwen@163.com>
Date:   Sat Nov 19 17:44:47 2022 +0800

    USB: serial: option: add Quectel EM05-G modem
    
    commit f0052d7a1edb3d8921b4e154aa8c46c4845b3714 upstream.
    
    The EM05-G modem has 2 USB configurations that are configurable via the AT
    command AT+QCFG="usbnet",[ 0 | 2 ] which make the modem enumerate with
    the following interfaces, respectively:
    
    "RMNET" : AT + DIAG + NMEA + Modem + QMI
    "MBIM"  : MBIM + AT + DIAG + NMEA + Modem
    
    The detailed description of the USB configuration for each mode as follows:
    
    RMNET Mode
    --------------
    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 21 Spd=480  MxCh= 0
    D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=2c7c ProdID=0311 Rev= 3.18
    S:  Manufacturer=Quectel
    S:  Product=Quectel EM05-G
    C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E:  Ad=89(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
    E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    
    MBIM Mode
    --------------
    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=480  MxCh= 0
    D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=2c7c ProdID=0311 Rev= 3.18
    S:  Manufacturer=Quectel
    S:  Product=Quectel EM05-G
    C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
    A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
    I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
    E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
    I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
    I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
    E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    
    Signed-off-by: Duke Xin <duke_xinanwen@163.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7b1f773277a72f9756d47a41b94e43506cce1954
Author: Szymon Heidrich <szymon.heidrich@gmail.com>
Date:   Tue Dec 6 15:13:01 2022 +0100

    usb: gadget: uvc: Prevent buffer overflow in setup handler
    
    commit 4c92670b16727365699fe4b19ed32013bab2c107 upstream.
    
    Setup function uvc_function_setup permits control transfer
    requests with up to 64 bytes of payload (UVC_MAX_REQUEST_SIZE),
    data stage handler for OUT transfer uses memcpy to copy req->actual
    bytes to uvc_event->data.data array of size 60. This may result
    in an overflow of 4 bytes.
    
    Fixes: cdda479f15cd ("USB gadget: video class function driver")
    Cc: stable <stable@kernel.org>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
    Signed-off-by: Szymon Heidrich <szymon.heidrich@gmail.com>
    Link: https://lore.kernel.org/r/20221206141301.51305-1-szymon.heidrich@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 88f79386daef3bf790474a1514ac3f07ee39ff66
Author: Jan Kara <jack@suse.cz>
Date:   Thu Dec 8 13:03:30 2022 +0100

    udf: Fix extending file within last block
    
    commit 1f3868f06855c97a4954c99b36f3fc9eb8f60326 upstream.
    
    When extending file within last block it can happen that the extent is
    already rounded to the blocksize and thus contains the offset we want to
    grow up to. In such case we would mistakenly expand the last extent and
    make it one block longer than it should be, exposing unallocated block
    in a file and causing data corruption. Fix the problem by properly
    detecting this case and bailing out.
    
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19c9316b895379c09187257b6e5a5e5bf7ae14ae
Author: Jan Kara <jack@suse.cz>
Date:   Wed Dec 7 17:34:33 2022 +0100

    udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
    
    commit 6ad53f0f71c52871202a7bf096feb2c59db33fc5 upstream.
    
    If rounded block-rounded i_lenExtents matches block rounded i_size,
    there are no preallocation extents. Do not bother walking extent linked
    list.
    
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ae56d9a017724f130cf1a263dd82a78d2a6e3852
Author: Jan Kara <jack@suse.cz>
Date:   Wed Dec 7 17:25:10 2022 +0100

    udf: Fix preallocation discarding at indirect extent boundary
    
    commit cfe4c1b25dd6d2f056afc00b7c98bcb3dd0b1fc3 upstream.
    
    When preallocation extent is the first one in the extent block, the
    code would corrupt extent tree header instead. Fix the problem and use
    udf_delete_aext() for deleting extent to avoid some code duplication.
    
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 38e053953add3b7c89712d5a2da56ffa4d3fc083
Author: Jan Kara <jack@suse.cz>
Date:   Wed Dec 7 18:17:34 2022 +0100

    udf: Discard preallocation before extending file with a hole
    
    commit 16d0556568148bdcaa45d077cac9f8f7077cf70a upstream.
    
    When extending file with a hole, we tried to preserve existing
    preallocation for the file. However that is not very useful and
    complicates code because the previous extent may need to be rounded to
    block boundary as well (which we forgot to do thus causing data
    corruption for sequence like:
    
    xfs_io -f -c "pwrite 0x75e63 11008" -c "truncate 0x7b24b" \
      -c "truncate 0xabaa3" -c "pwrite 0xac70b 22954" \
      -c "pwrite 0x93a43 11358" -c "pwrite 0xb8e65 52211" file
    
    with 512-byte block size. Just discard preallocation before extending
    file to simplify things and also fix this data corruption.
    
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2ef2c315e67deda2d904299850d8178e7a7b4b56
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:28 2022 +0100

    selftests/bpf: Add kprobe_multi kmod attach api tests
    
    commit be884a22c1c835a146e97c6ab282a2b31b002e1f upstream.
    
    Adding kprobe_multi kmod attach api tests that attach bpf_testmod
    functions via bpf_program__attach_kprobe_multi_opts.
    
    Running it as serial test, because we don't want other tests to
    reload bpf_testmod while it's running.
    
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-9-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6bd192256ae78967d6db11afaa34d3f9e006aee0
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:27 2022 +0100

    selftests/bpf: Add kprobe_multi check to module attach test
    
    commit e697d8dcebd2f557fa5e5ed57aaf0a9992ce9df8 upstream.
    
    Adding test that makes sure the kernel module won't be removed
    if there's kprobe multi link defined on top of it.
    
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-8-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 48cde6dfc2275edcca56d5c510d4274fe48cb530
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:26 2022 +0100

    selftests/bpf: Add bpf_testmod_fentry_* functions
    
    commit fee356ede980b6c2c8db612e18b25738356d6744 upstream.
    
    Adding 3 bpf_testmod_fentry_* functions to have a way to test
    kprobe multi link on kernel module. They follow bpf_fentry_test*
    functions prototypes/code.
    
    Adding equivalent functions to all bpf_fentry_test* does not
    seems necessary at the moment, could be added later.
    
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-7-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef314ca4474fc597a584ed6be499ae2819f03ff2
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:25 2022 +0100

    selftests/bpf: Add load_kallsyms_refresh function
    
    commit 10705b2b7a8e4eb46ab5bf1b9ee354cb9a929428 upstream.
    
    Adding load_kallsyms_refresh function to re-read symbols from
    /proc/kallsyms file.
    
    This will be needed to get proper functions addresses from
    bpf_testmod.ko module, which is loaded/unloaded several times
    during the tests run, so symbols might be already old when
    we need to use them.
    
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-6-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e9aff1386730b8c5d74f3897c96a93cd6aea5dce
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:24 2022 +0100

    bpf: Take module reference on kprobe_multi link
    
    commit e22061b2d3095c12f90336479f24bf5eeb70e1bd upstream.
    
    Currently we allow to create kprobe multi link on function from kernel
    module, but we don't take the module reference to ensure it's not
    unloaded while we are tracing it.
    
    The multi kprobe link is based on fprobe/ftrace layer which takes
    different approach and releases ftrace hooks when module is unloaded
    even if there's tracer registered on top of it.
    
    Adding code that gathers all the related modules for the link and takes
    their references before it's attached. All kernel module references are
    released after link is unregistered.
    
    Note that we do it the same way already for trampoline probes
    (but for single address).
    
    Acked-by: Andrii Nakryiko <andrii@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-5-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bfe098ea99b61a60568b142df55377a12218ec9f
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:23 2022 +0100

    bpf: Rename __bpf_kprobe_multi_cookie_cmp to bpf_kprobe_multi_addrs_cmp
    
    commit 1a1b0716d36d21f8448bd7d3f1c0ade7230bb294 upstream.
    
    Renaming __bpf_kprobe_multi_cookie_cmp to bpf_kprobe_multi_addrs_cmp,
    because it's more suitable to current and upcoming code.
    
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-4-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 25fb59ebf899149853a476d2109845c8f98ab611
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:22 2022 +0100

    ftrace: Add support to resolve module symbols in ftrace_lookup_symbols
    
    commit 3640bf8584f4ab0f5eed6285f09213954acd8b62 upstream.
    
    Currently ftrace_lookup_symbols iterates only over core symbols,
    adding module_kallsyms_on_each_symbol call to check on modules
    symbols as well.
    
    Also removing 'args.found == args.cnt' condition, because it's
    already checked in kallsyms_callback function.
    
    Also removing 'err < 0' check, because both *kallsyms_on_each_symbol
    functions do not return error.
    
    Reported-by: Martynas Pumputis <m@lambda.lt>
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-3-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 23b4a344a4e9ed498c07fd368ba5d08741e44dc4
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Dec 16 13:56:21 2022 +0100

    kallsyms: Make module_kallsyms_on_each_symbol generally available
    
    commit 73feb8d5fa3b755bb51077c0aabfb6aa556fd498 upstream.
    
    Making module_kallsyms_on_each_symbol generally available, so it
    can be used outside CONFIG_LIVEPATCH option in following changes.
    
    Rather than adding another ifdef option let's make the function
    generally available (when CONFIG_KALLSYMS and CONFIG_MODULES
    options are defined).
    
    Cc: Christoph Hellwig <hch@lst.de>
    Acked-by: Song Liu <song@kernel.org>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Link: https://lore.kernel.org/r/20221025134148.3300700-2-jolsa@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb7323ece786f243f6d6ccf2e5b2b27b736bdc04
Author: John Thomson <git@johnthomson.fastmail.com.au>
Date:   Tue Dec 6 06:46:45 2022 +1000

    PCI: mt7621: Add sentinel to quirks table
    
    commit 19098934f910b4d47cb30251dd39ffa57bef9523 upstream.
    
    Current driver is missing a sentinel in the struct soc_device_attribute
    array, which causes an oops when assessed by the
    soc_device_match(mt7621_pcie_quirks_match) call.
    
    This was only exposed once the CONFIG_SOC_MT7621 mt7621 soc_dev_attr
    was fixed to register the SOC as a device, in:
    
    commit 7c18b64bba3b ("mips: ralink: mt7621: do not use kzalloc too early")
    
    Fix it by adding the required sentinel.
    
    Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com
    Link: https://lore.kernel.org/r/20221205204645.301301-1-git@johnthomson.fastmail.com.au
    Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'")
    Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
    Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
    Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>