Skip to content
  1. Sep 28, 2022
  2. Sep 20, 2022
    • Greg Kroah-Hartman's avatar
      Linux 4.14.294 · 4edbf741
      Greg Kroah-Hartman authored
      
      
      Link: https://lore.kernel.org/r/20220916100441.528608977@linuxfoundation.org
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarLinux Kernel Functional Testing <lkft@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      v4.14.294
      4edbf741
    • Brian Norris's avatar
      tracefs: Only clobber mode/uid/gid on remount if asked · bceb15a2
      Brian Norris authored
      commit 47311db8 upstream.
      
      Users may have explicitly configured their tracefs permissions; we
      shouldn't overwrite those just because a second mount appeared.
      
      Only clobber if the options were provided at mount time.
      
      Note: the previous behavior was especially surprising in the presence of
      automounted /sys/kernel/debug/tracing/.
      
      Existing behavior:
      
        ## Pre-existing status: tracefs is 0755.
        # stat -c '%A' /sys/kernel/tracing/
        drwxr-xr-x
      
        ## (Re)trigger the automount.
        # umount /sys/kernel/debug/tracing
        # stat -c '%A' /sys/kernel/debug/tracing/.
        drwx------
      
        ## Unexpected: the automount changed mode for other mount instances.
        # stat -c '%A' /sys/kernel/tracing/
        drwx------
      
      New behavior (after this change):
      
        ## Pre-existing status: tracefs is 0755.
        # stat -c '%A' /sys/kernel/tracing/
        drwxr-xr-x
      
        ## (Re)trigger the automount.
        # umount /sys/kernel/debug/tracing
        # stat -c '%A' /sys/kernel/debug/tracing/.
        drwxr-xr-x
      
        ## Expected: the automount does not change other mount instances.
        # stat -c '%A' /sys/kernel/tracing/
        drwxr-xr-x
      
      Link: https://lkml.kernel.org/r/20220826174353.2.Iab6e5ea57963d6deca5311b27fb7226790d44406@changeid
      
      Cc: stable@vger.kernel.org
      Fixes: 4282d606
      
       ("tracefs: Add new tracefs file system")
      Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bceb15a2
    • Hans de Goede's avatar
      platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes · fe6ab751
      Hans de Goede authored
      [ Upstream commit c3b82d26
      
       ]
      
      2 keymap fixes for the Acer Aspire One AOD270 and the same hardware
      rebranded as Packard Bell Dot SC:
      
      1. The F2 key is marked with a big '?' symbol on the Packard Bell Dot SC,
      this sends WMID_HOTKEY_EVENTs with a scancode of 0x27 add a mapping
      for this.
      
      2. Scancode 0x61 is KEY_SWITCHVIDEOMODE. Usually this is a duplicate
      input event with the "Video Bus" input device events. But on these devices
      the "Video Bus" does not send events for this key. Map 0x61 to KEY_UNKNOWN
      instead of using KE_IGNORE so that udev/hwdb can override it on these devs.
      
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20220829163544.5288-1-hdegoede@redhat.com
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      fe6ab751
    • Li Qiong's avatar
      ieee802154: cc2520: add rc code in cc2520_tx() · e7c1f676
      Li Qiong authored
      [ Upstream commit ffd7bddd
      
       ]
      
      The rc code is 0 at the error path "status & CC2520_STATUS_TX_UNDERFLOW".
      Assign rc code with '-EINVAL' at this error path to fix it.
      
      Signed-off-by: default avatarLi Qiong <liqiong@nfschina.com>
      Link: https://lore.kernel.org/r/20220829071259.18330-1-liqiong@nfschina.com
      Signed-off-by: default avatarStefan Schmidt <stefan@datenfreihafen.org>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      e7c1f676
    • Kai-Heng Feng's avatar
      tg3: Disable tg3 device on system reboot to avoid triggering AER · 101a952b
      Kai-Heng Feng authored
      [ Upstream commit 2ca1c94c ]
      
      Commit d60cd063
      
       ("PM: ACPI: reboot: Use S5 for reboot") caused a
      reboot hang on one Dell servers so the commit was reverted.
      
      Someone managed to collect the AER log and it's caused by MSI:
      [ 148.762067] ACPI: Preparing to enter system sleep state S5
      [ 148.794638] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 5
      [ 148.803731] {1}[Hardware Error]: event severity: recoverable
      [ 148.810191] {1}[Hardware Error]: Error 0, type: fatal
      [ 148.816088] {1}[Hardware Error]: section_type: PCIe error
      [ 148.822391] {1}[Hardware Error]: port_type: 0, PCIe end point
      [ 148.829026] {1}[Hardware Error]: version: 3.0
      [ 148.834266] {1}[Hardware Error]: command: 0x0006, status: 0x0010
      [ 148.841140] {1}[Hardware Error]: device_id: 0000:04:00.0
      [ 148.847309] {1}[Hardware Error]: slot: 0
      [ 148.852077] {1}[Hardware Error]: secondary_bus: 0x00
      [ 148.857876] {1}[Hardware Error]: vendor_id: 0x14e4, device_id: 0x165f
      [ 148.865145] {1}[Hardware Error]: class_code: 020000
      [ 148.870845] {1}[Hardware Error]: aer_uncor_status: 0x00100000, aer_uncor_mask: 0x00010000
      [ 148.879842] {1}[Hardware Error]: aer_uncor_severity: 0x000ef030
      [ 148.886575] {1}[Hardware Error]: TLP Header: 40000001 0000030f 90028090 00000000
      [ 148.894823] tg3 0000:04:00.0: AER: aer_status: 0x00100000, aer_mask: 0x00010000
      [ 148.902795] tg3 0000:04:00.0: AER: [20] UnsupReq (First)
      [ 148.910234] tg3 0000:04:00.0: AER: aer_layer=Transaction Layer, aer_agent=Requester ID
      [ 148.918806] tg3 0000:04:00.0: AER: aer_uncor_severity: 0x000ef030
      [ 148.925558] tg3 0000:04:00.0: AER: TLP Header: 40000001 0000030f 90028090 00000000
      
      The MSI is probably raised by incoming packets, so power down the device
      and disable bus mastering to stop the traffic, as user confirmed this
      approach works.
      
      In addition to that, be extra safe and cancel reset task if it's running.
      
      Cc: Josef Bacik <josef@toxicpanda.com>
      Link: https://lore.kernel.org/all/b8db79e6857c41dab4ef08bdf826ea7c47e3bafc.1615947283.git.josef@toxicpanda.com/
      BugLink: https://bugs.launchpad.net/bugs/1917471
      Signed-off-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
      Reviewed-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Link: https://lore.kernel.org/r/20220826002530.1153296-1-kai.heng.feng@canonical.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      101a952b
    • Jason Wang's avatar
      HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo · a5e410be
      Jason Wang authored
      [ Upstream commit 94553f8a
      
       ]
      
      The double `like' is duplicated in the comment, remove one.
      
      Signed-off-by: default avatarJason Wang <wangborong@cdjrlc.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      a5e410be
    • Rob Clark's avatar
      drm/msm/rd: Fix FIFO-full deadlock · eaeb5d2f
      Rob Clark authored
      [ Upstream commit 174974d8
      
       ]
      
      If the previous thing cat'ing $debugfs/rd left the FIFO full, then
      subsequent open could deadlock in rd_write() (because open is blocked,
      not giving a chance for read() to consume any data in the FIFO).  Also
      it is generally a good idea to clear out old data from the FIFO.
      
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Patchwork: https://patchwork.freedesktop.org/patch/496706/
      Link: https://lore.kernel.org/r/20220807160901.2353471-2-robdclark@gmail.com
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      eaeb5d2f
    • Jann Horn's avatar
      mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region() · 25a9bf46
      Jann Horn authored
      This is a stable-specific patch.
      I botched the stable-specific rewrite of
      commit b67fbebd
      
       ("mmu_gather: Force tlb-flush VM_PFNMAP vmas"):
      As Hugh pointed out, unmap_region() actually operates on a list of VMAs,
      and the variable "vma" merely points to the first VMA in that list.
      So if we want to check whether any of the VMAs we're operating on is
      PFNMAP or MIXEDMAP, we have to iterate through the list and check each VMA.
      
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      25a9bf46
  3. Sep 15, 2022
    • Greg Kroah-Hartman's avatar
      Linux 4.14.293 · 5df8b473
      Greg Kroah-Hartman authored
      
      
      Link: https://lore.kernel.org/r/20220913140346.422813036@linuxfoundation.org
      Tested-by: default avatarLinux Kernel Functional Testing <lkft@linaro.org>
      Tested-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      v4.14.293
      5df8b473
    • NeilBrown's avatar
      SUNRPC: use _bh spinlocking on ->transport_lock · 1ee4c048
      NeilBrown authored
      Prior to Linux 5.3, ->transport_lock in sunrpc required the _bh style
      spinlocks (when not called from a bottom-half handler).
      
      When upstream 3848e96e
      
       was backported to
      stable kernels, the spin_lock/unlock calls should have been changed to
      the _bh version, but this wasn't noted in the patch and didn't happen.
      
      So convert these lock/unlock calls to the _bh versions.
      
      This patch is required for any stable kernel prior to 5.3 to which the
      above mentioned patch was backported.  Namely 4.9.y, 4.14.y, 4.19.y.
      
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Reported-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
      Reviewed-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
      Tested-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
      1ee4c048
    • Yang Ling's avatar
      MIPS: loongson32: ls1c: Fix hang during startup · 4d497f77
      Yang Ling authored
      [ Upstream commit 35508d24 ]
      
      The RTCCTRL reg of LS1C is obselete.
      Writing this reg will cause system hang.
      
      Fixes: 60219c56
      
       ("MIPS: Add RTC support for Loongson1C board")
      Signed-off-by: default avatarYang Ling <gnaygnil@gmail.com>
      Tested-by: default avatarKeguang Zhang <keguang.zhang@gmail.com>
      Acked-by: default avatarKeguang Zhang <keguang.zhang@gmail.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      4d497f77
    • Johan Hovold's avatar
      USB: serial: ch341: fix disabled rx timer on older devices · ecb88702
      Johan Hovold authored
      commit 41ca302a
      
       upstream.
      
      At least one older CH341 appears to have the RX timer enable bit
      inverted so that setting it disables the RX timer and prevents the FIFO
      from emptying until it is full.
      
      Only set the RX timer enable bit for devices with version newer than
      0x27 (even though this probably affects all pre-0x30 devices).
      
      Reported-by: default avatarJonathan Woithe <jwoithe@just42.net>
      Tested-by: default avatarJonathan Woithe <jwoithe@just42.net>
      Link: https://lore.kernel.org/r/Ys1iPTfiZRWj2gXs@marvin.atrad.com.au
      Fixes: 4e46c410
      
       ("USB: serial: ch341: reinitialize chip on reconfiguration")
      Cc: stable@vger.kernel.org      # 4.10
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      [ johan: backport to 5.4 ]
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ecb88702
    • Johan Hovold's avatar
      USB: serial: ch341: fix lost character on LCR updates · 22f8129c
      Johan Hovold authored
      commit 8e83622a
      
       upstream.
      
      Disable LCR updates for pre-0x30 devices which use a different (unknown)
      protocol for line control and where the current register write causes
      the next received character to be lost.
      
      Note that updating LCR using the INIT command has no effect on these
      devices either.
      
      Reported-by: default avatarJonathan Woithe <jwoithe@just42.net>
      Tested-by: default avatarJonathan Woithe <jwoithe@just42.net>
      Link: https://lore.kernel.org/r/Ys1iPTfiZRWj2gXs@marvin.atrad.com.au
      Fixes: 4e46c410 ("USB: serial: ch341: reinitialize chip on reconfiguration")
      Fixes: 55fa15b5
      
       ("USB: serial: ch341: fix baud rate and line-control handling")
      Cc: stable@vger.kernel.org      # 4.10
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      [ johan: adjust context to 4.19 ]
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      22f8129c
    • Johan Hovold's avatar
      usb: dwc3: fix PHY disable sequence · 967d5736
      Johan Hovold authored
      commit d2ac7bef upstream.
      
      Generic PHYs must be powered-off before they can be tore down.
      
      Similarly, suspending legacy PHYs after having powered them off makes no
      sense.
      
      Fix the dwc3_core_exit() (e.g. called during suspend) and open-coded
      dwc3_probe() error-path sequences that got this wrong.
      
      Note that this makes dwc3_core_exit() match the dwc3_core_init() error
      path with respect to powering off the PHYs.
      
      Fixes: 03c1fd62 ("usb: dwc3: core: add phy cleanup for probe error handling")
      Fixes: c499ff71
      
       ("usb: dwc3: core: re-factor init and exit paths")
      Cc: stable@vger.kernel.org      # 4.8
      Reviewed-by: default avatarAndrew Halaney <ahalaney@redhat.com>
      Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
      Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
      Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
      Link: https://lore.kernel.org/r/20220804151001.23612-2-johan+linaro@kernel.org
      [ johan: adjust context to 4.14 ]
      Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      967d5736
    • Toke Høiland-Jørgensen's avatar
      sch_sfb: Also store skb len before calling child enqueue · 9021b4ed
      Toke Høiland-Jørgensen authored
      [ Upstream commit 2f09707d ]
      
      Cong Wang noticed that the previous fix for sch_sfb accessing the queued
      skb after enqueueing it to a child qdisc was incomplete: the SFB enqueue
      function was also calling qdisc_qstats_backlog_inc() after enqueue, which
      reads the pkt len from the skb cb field. Fix this by also storing the skb
      len, and using the stored value to increment the backlog after enqueueing.
      
      Fixes: 9efd2329
      
       ("sch_sfb: Don't assume the skb is still around after enqueueing to child")
      Signed-off-by: default avatarToke Høiland-Jørgensen <toke@toke.dk>
      Acked-by: default avatarCong Wang <cong.wang@bytedance.com>
      Link: https://lore.kernel.org/r/20220905192137.965549-1-toke@toke.dk
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      9021b4ed
    • Neal Cardwell's avatar
      tcp: fix early ETIMEDOUT after spurious non-SACK RTO · e50b799a
      Neal Cardwell authored
      [ Upstream commit 686dc2db ]
      
      Fix a bug reported and analyzed by Nagaraj Arankal, where the handling
      of a spurious non-SACK RTO could cause a connection to fail to clear
      retrans_stamp, causing a later RTO to very prematurely time out the
      connection with ETIMEDOUT.
      
      Here is the buggy scenario, expanding upon Nagaraj Arankal's excellent
      report:
      
      (*1) Send one data packet on a non-SACK connection
      
      (*2) Because no ACK packet is received, the packet is retransmitted
           and we enter CA_Loss; but this retransmission is spurious.
      
      (*3) The ACK for the original data is received. The transmitted packet
           is acknowledged.  The TCP timestamp is before the retrans_stamp,
           so tcp_may_undo() returns true, and tcp_try_undo_loss() returns
           true without changing state to Open (because tcp_is_sack() is
           false), and tcp_process_loss() returns without calling
           tcp_try_undo_recovery().  Normally after undoing a CA_Loss
           episode, tcp_fastretrans_alert() would see that the connection
           has returned to CA_Open and fall through and call
           tcp_try_to_open(), which would set retrans_stamp to 0.  However,
           for non-SACK connections we hold the connection in CA_Loss, so do
           not fall through to call tcp_try_to_open() and do not set
           retrans_stamp to 0. So retrans_stamp is (erroneously) still
           non-zero.
      
           At this point the first "retransmission event" has passed and
           been recovered from. Any future retransmission is a completely
           new "event". However, retrans_stamp is erroneously still
           set. (And we are still in CA_Loss, which is correct.)
      
      (*4) After 16 minutes (to correspond with tcp_retries2=15), a new data
           packet is sent. Note: No data is transmitted between (*3) and
           (*4) and we disabled keep alives.
      
           The socket's timeout SHOULD be calculated from this point in
           time, but instead it's calculated from the prior "event" 16
           minutes ago (step (*2)).
      
      (*5) Because no ACK packet is received, the packet is retransmitted.
      
      (*6) At the time of the 2nd retransmission, the socket returns
           ETIMEDOUT, prematurely, because retrans_stamp is (erroneously)
           too far in the past (set at the time of (*2)).
      
      This commit fixes this bug by ensuring that we reuse in
      tcp_try_undo_loss() the same careful logic for non-SACK connections
      that we have in tcp_try_undo_recovery(). To avoid duplicating logic,
      we factor out that logic into a new
      tcp_is_non_sack_preventing_reopen() helper and call that helper from
      both undo functions.
      
      Fixes: da34ac76
      
       ("tcp: only undo on partial ACKs in CA_Loss")
      Reported-by: default avatarNagaraj Arankal <nagaraj.p.arankal@hpe.com>
      Link: https://lore.kernel.org/all/SJ0PR84MB1847BE6C24D274C46A1B9B0EB27A9@SJ0PR84MB1847.NAMPRD84.PROD.OUTLOOK.COM/
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20220903121023.866900-1-ncardwell.kernel@gmail.com
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      e50b799a
    • David Lebrun's avatar
      ipv6: sr: fix out-of-bounds read when setting HMAC data. · dc9dbd65
      David Lebrun authored
      [ Upstream commit 84a53580
      
       ]
      
      The SRv6 layer allows defining HMAC data that can later be used to sign IPv6
      Segment Routing Headers. This configuration is realised via netlink through
      four attributes: SEG6_ATTR_HMACKEYID, SEG6_ATTR_SECRET, SEG6_ATTR_SECRETLEN and
      SEG6_ATTR_ALGID. Because the SECRETLEN attribute is decoupled from the actual
      length of the SECRET attribute, it is possible to provide invalid combinations
      (e.g., secret = "", secretlen = 64). This case is not checked in the code and
      with an appropriately crafted netlink message, an out-of-bounds read of up
      to 64 bytes (max secret length) can occur past the skb end pointer and into
      skb_shared_info:
      
      Breakpoint 1, seg6_genl_sethmac (skb=<optimized out>, info=<optimized out>) at net/ipv6/seg6.c:208
      208		memcpy(hinfo->secret, secret, slen);
      (gdb) bt
       #0  seg6_genl_sethmac (skb=<optimized out>, info=<optimized out>) at net/ipv6/seg6.c:208
       #1  0xffffffff81e012e9 in genl_family_rcv_msg_doit (skb=skb@entry=0xffff88800b1f9f00, nlh=nlh@entry=0xffff88800b1b7600,
          extack=extack@entry=0xffffc90000ba7af0, ops=ops@entry=0xffffc90000ba7a80, hdrlen=4, net=0xffffffff84237580 <init_net>, family=<optimized out>,
          family=<optimized out>) at net/netlink/genetlink.c:731
       #2  0xffffffff81e01435 in genl_family_rcv_msg (extack=0xffffc90000ba7af0, nlh=0xffff88800b1b7600, skb=0xffff88800b1f9f00,
          family=0xffffffff82fef6c0 <seg6_genl_family>) at net/netlink/genetlink.c:775
       #3  genl_rcv_msg (skb=0xffff88800b1f9f00, nlh=0xffff88800b1b7600, extack=0xffffc90000ba7af0) at net/netlink/genetlink.c:792
       #4  0xffffffff81dfffc3 in netlink_rcv_skb (skb=skb@entry=0xffff88800b1f9f00, cb=cb@entry=0xffffffff81e01350 <genl_rcv_msg>)
          at net/netlink/af_netlink.c:2501
       #5  0xffffffff81e00919 in genl_rcv (skb=0xffff88800b1f9f00) at net/netlink/genetlink.c:803
       #6  0xffffffff81dff6ae in netlink_unicast_kernel (ssk=0xffff888010eec800, skb=0xffff88800b1f9f00, sk=0xffff888004aed000)
          at net/netlink/af_netlink.c:1319
       #7  netlink_unicast (ssk=ssk@entry=0xffff888010eec800, skb=skb@entry=0xffff88800b1f9f00, portid=portid@entry=0, nonblock=<optimized out>)
          at net/netlink/af_netlink.c:1345
       #8  0xffffffff81dff9a4 in netlink_sendmsg (sock=<optimized out>, msg=0xffffc90000ba7e48, len=<optimized out>) at net/netlink/af_netlink.c:1921
      ...
      (gdb) p/x ((struct sk_buff *)0xffff88800b1f9f00)->head + ((struct sk_buff *)0xffff88800b1f9f00)->end
      $1 = 0xffff88800b1b76c0
      (gdb) p/x secret
      $2 = 0xffff88800b1b76c0
      (gdb) p slen
      $3 = 64 '@'
      
      The OOB data can then be read back from userspace by dumping HMAC state. This
      commit fixes this by ensuring SECRETLEN cannot exceed the actual length of
      SECRET.
      
      Reported-by: default avatarLucas Leong <wmliang.tw@gmail.com>
      Tested: verified that EINVAL is correctly returned when secretlen > len(secret)
      Fixes: 4f4853dc
      
       ("ipv6: sr: implement API to control SR HMAC structure")
      Signed-off-by: default avatarDavid Lebrun <dlebrun@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
      dc9dbd65