Skip to content
Permalink
Tanner-Love/vi…
Switch branches/tags

Commits on Jun 16, 2021

  1. selftests/net: amend bpf flow dissector prog to do vnet hdr validation

    Change the BPF flow dissector program to perform various checks on the
    virtio_net_hdr fields after doing flow dissection.
    
    Amend test_flow_dissector.(c|sh) to add test cases that inject packets
    with reasonable or unreasonable virtio-net headers and assert that bad
    packets are dropped and good packets are not. Do this via packet
    socket; the kernel executes tpacket_snd, which enters
    virtio_net_hdr_to_skb, where flow dissection / vnet header validation
    occurs.
    
    Changes
    v4:
      - Read virtio_net_hdr pointer from struct bpf_flow_keys
      - Add vnet header endianness logic to BPF program
    
    Signed-off-by: Tanner Love <tannerlove@google.com>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    tannerlove authored and intel-lab-lkp committed Jun 16, 2021
  2. virtio_net: add optional flow dissection in virtio_net_hdr_to_skb

    Syzkaller bugs have resulted from loose specification of
    virtio_net_hdr[1]. Enable execution of a BPF flow dissector program
    in virtio_net_hdr_to_skb to validate the vnet header and drop bad
    input.
    
    Introduce a new sysctl net.core.flow_dissect_vnet_hdr controlling a
    static key to decide whether to perform flow dissection. When the key
    is false, virtio_net_hdr_to_skb computes as before.
    
    A permissive specification of vnet headers is part of the ABI. Some
    applications now depend on it. Still, many of these packets are bogus.
    Give admins the option to interpret behavior more strictly. For
    instance, verifying that a VIRTIO_NET_HDR_GSO_TCPV6 header matches a
    packet with unencapsulated IPv6/TCP without extension headers, with
    payload length exceeding gso_size and hdr_len exactly at TCP payload
    offset.
    
    BPF flow dissection implements protocol parsing in an safe way. And is
    configurable, so can be as pedantic as the workload allows (e.g.,
    dropping UFO altogether).
    
    Vnet_header flow dissection is *not* a substitute for fixing bugs when
    reported. But even if not enabled continuously, offers a quick path to
    mitigating vulnerabilities.
    
    [1] https://syzkaller.appspot.com/bug?id=b419a5ca95062664fe1a60b764621eb4526e2cd0
    
    Changes
    v4:
      - Expand commit message with rationale for bpf flow dissector based
        implementation
    v3:
      - Move sysctl_flow_dissect_vnet_hdr_key definition to
        flow_dissector.c to fix CONFIG_SYSCTL warning when building UML
    
    Suggested-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Tanner Love <tannerlove@google.com>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    tannerlove authored and intel-lab-lkp committed Jun 16, 2021
  3. net: flow_dissector: extend bpf flow dissector support with vnet hdr

    Amend the bpf flow dissector program type to be able to process
    virtio-net headers. Do this to enable bpf flow dissector programs to
    perform virtio-net header validation. The next patch in this series
    will add a flow dissection hook in virtio_net_hdr_to_skb and make use
    of this extended functionality. That commit message has more
    background on the use case.
    
    Add two new members to struct bpf_flow_keys: a pointer to struct
    virtio_net_hdr, and vhdr_is_little_endian. The latter is required to
    inform the BPF program of the endianness of the virtio-net header
    fields, to handle the case of a version 1+ header on a big endian
    machine.
    
    Changes
    v6:
      - Move bpf_flow_dissector_btf_ids, check_flow_keys_access() to
        filter.c
      - Verify (off % size == 0) in check_flow_keys_access()
      - Check bpf_flow_dissector_btf_ids[0] is nonzero in
        check_flow_keys_access()
    v5:
      - Use PTR_TO_BTF_ID_OR_NULL instead of defining new
        PTR_TO_VNET_HDR_OR_NULL
      - Make check_flow_keys_access() disallow writes to keys->vhdr
      - Make check_flow_keys_access() check loading keys->vhdr is in
        sizeof(__u64)
      - Use BPF_REG_AX instead of BPF_REG_TMP as scratch reg
      - Describe parameter vhdr_is_little_endian in __skb_flow_dissect
        documentation
    v4:
      - Add virtio_net_hdr pointer to struct bpf_flow_keys
      - Add vhdr_is_little_endian to struct bpf_flow_keys
    v2:
      - Describe parameter vhdr in __skb_flow_dissect documentation
    
    Signed-off-by: Tanner Love <tannerlove@google.com>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Reviewed-by: Petar Penkov <ppenkov@google.com>
    Reviewed-by: Stanislav Fomichev <sdf@google.com>
    tannerlove authored and intel-lab-lkp committed Jun 16, 2021
  4. net: chelsio: cxgb4: use eth_zero_addr() to assign zero address

    Using eth_zero_addr() to assign zero address insetad of
    inefficient copy from an array.
    
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yang Yingliang authored and davem330 committed Jun 16, 2021
  5. Merge branch 'cosa-cleanups'

    Peng Li says:
    
    ====================
    net: cosa: clean up some code style issues
    
    This patchset clean up some code style issues.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jun 16, 2021
  6. net: cosa: remove redundant spaces

    According to the chackpatch.pl,
    no spaces is necessary at the start of a line,
    no space is necessary after a cast.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  7. net: cosa: remove trailing whitespaces

    This patch removes trailing whitespaces.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  8. net: cosa: add some required spaces

    Add space required before the open parenthesis '(' and '{'.
    Add space required after that close brace '}' and ','
    Add spaces required around that '=' , '&', '*', '|', '+', '/' and '-'.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  9. net: cosa: fix the code style issue about trailing statements

    Trailing statements should be on next line.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  10. net: cosa: fix the alignment issue

    Alignment should match open parenthesis.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  11. net: cosa: use BIT macro

    This patch uses the BIT macro for setting individual bits,
    to fix the following checkpatch.pl issue:
    CHECK: Prefer using the BIT macro.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  12. net: cosa: add necessary () to macro argument

    Macro argument 'cosa' may be better as '(cosa)' to avoid
    precedence issues.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  13. net: cosa: remove redundant braces {}

    This patch removes redundant braces {}, to fix the
    checkpatch.pl warning:
    "braces {} are not necessary for single statement blocks".
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  14. net: cosa: add braces {} to all arms of the statement

    Braces {} should be used on all arms of this statement.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  15. net: cosa: fix the comments style issue

    Networking block comments don't use an empty /* line,
    use /* Comment...
    
    Block comments use * on subsequent lines.
    Block comments use a trailing */ on a separate line.
    
    This patch fixes the comments style issues.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  16. net: cosa: move out assignment in if condition

    Should not use assignment in if condition.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  17. net: cosa: replace comparison to NULL with "!chan->rx_skb"

    According to the chackpatch.pl, comparison to NULL could
    be written "!chan->rx_skb".
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  18. net: cosa: fix the code style issue about "foo* bar"

    Fix the checkpatch error as "foo* bar" should be "foo *bar".
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  19. net: cosa: add blank line after declarations

    This patch fixes the checkpatch error about missing a blank line
    after declarations.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  20. net: cosa: remove redundant blank lines

    This patch removes some redundant blank lines.
    
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    321lipeng authored and davem330 committed Jun 16, 2021
  21. net: iosm: add missing MODULE_DEVICE_TABLE

    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    SamuelZOU authored and davem330 committed Jun 16, 2021
  22. qlcnic: Use list_for_each_entry() to simplify code in qlcnic_main.c

    Convert list_for_each() to list_for_each_entry() where
    applicable. This simplifies the code.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Wang Hai <wanghai38@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Wang Hai authored and davem330 committed Jun 16, 2021
  23. ethtool: add a stricter length check

    There has been a few errors in the ethtool reply size calculations,
    most of those are hard to trigger during basic testing because of
    skb size rounding up and netdev names being shorter than max.
    Add a more precise check.
    
    This change will affect the value of payload length displayed in
    case of -EMSGSIZE but that should be okay, "payload length" isn't
    a well defined term here.
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Jakub Kicinski authored and davem330 committed Jun 16, 2021
  24. inet_diag: add support for tw_mark

    Timewait sockets have included mark since approx 4.18.
    
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Jon Maxwell <jmaxwell37@gmail.com>
    Fixes: 0048369 ("tcp: Add mark for TIMEWAIT sockets")
    Signed-off-by: Maciej Żenczykowski <maze@google.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: Jon Maxwell <jmaxwell37@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    zenczykowski authored and davem330 committed Jun 16, 2021
  25. net: mhi_net: make mhi_wwan_ops static

    This symbol is not used outside of net.c, so marks it static.
    
    Fix the following sparse warning:
    
    drivers/net/mhi/net.c:385:23: warning: symbol 'mhi_wwan_ops' was not
    declared. Should it be static?
    
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Jiapeng Chong authored and davem330 committed Jun 16, 2021
  26. Merge branch 'hns3-next'

    Guangbin Huang says:
    
    ====================
    net: hns3: updates for -next
    
    This series includes some optimization in IO path for the HNS3 ethernet
    driver.
    ====================
    
    Cc: Loic Poulain <loic.poulain@linaro.org>
    Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Jun 16, 2021
  27. net: hns3: use bounce buffer when rx page can not be reused

    Currently rx page will be reused to receive future packet when
    the stack releases the previous skb quickly. If the old page
    can not be reused, a new page will be allocated and mapped,
    which comsumes a lot of cpu when IOMMU is in the strict mode,
    especially when the application and irq/NAPI happens to run on
    the same cpu.
    
    So allocate a new frag to memcpy the data to avoid the costly
    IOMMU unmapping/mapping operation, and add "frag_alloc_err"
    and "frag_alloc" stats in "ethtool -S ethX" cmd.
    
    The throughput improves above 50% when running single thread of
    iperf using TCP when IOMMU is in strict mode and iperf shares the
    same cpu with irq/NAPI(rx_copybreak = 2048 and mtu = 1500).
    
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021
  28. net: hns3: optimize the rx page reuse handling process

    Current rx page offset only reset to zero when all the below
    conditions are satisfied:
    1. rx page is only owned by driver.
    2. rx page is reusable.
    3. the page offset that is above to be given to the stack has
    reached the end of the page.
    
    If the page offset is over the hns3_buf_size(), it means the
    buffer below the offset of the page is usable when the above
    condition 1 & 2 are satisfied, so page offset can be reset to
    zero instead of increasing the offset. We may be able to always
    reuse the first 4K buffer of a 64K page, which means we can
    limit the hot buffer size as much as possible.
    
    The above optimization is a side effect when refacting the
    rx page reuse handling in order to support the rx copybreak.
    
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021
  29. net: hns3: support dma_map_sg() for multi frags skb

    Using the queue based tx buffer, it is also possible to allocate a
    sgl buffer, and use skb_to_sgvec() to convert the skb to the sgvec
    in order to support the dma_map_sg() to decreases the overhead of
    IOMMU mapping and unmapping.
    
    Firstly, it reduces the number of buffers. For example, a tcp skb
    may have a 66-byte header and 3 fragments of 4328, 32768, and 28064
    bytes. With this patch, dma_map_sg() will combine them into two
    buffers, 66-bytes header and one 65160-bytes fragment by using IOMMU.
    
    Secondly, it reduces the number of dma mapping and unmapping. All the
    original 4 buffers are mapped only once rather than 4 times.
    
    The throughput improves above 10% when running single thread of iperf
    using TCP when IOMMU is in strict mode.
    
    Suggested-by: Barry Song <song.bao.hua@hisilicon.com>
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021
  30. net: hns3: add support to query tx spare buffer size for pf

    Add support to query tx spare buffer size from configuration
    file, and use this info to do spare buffer initialization when
    the module parameter 'tx_spare_buf_size' is not specified.
    
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Huazhong Tan authored and davem330 committed Jun 16, 2021
  31. net: hns3: use tx bounce buffer for small packets

    when the packet or frag size is small, it causes both security and
    performance issue. As dma can't map sub-page, this means some extra
    kernel data is visible to devices. On the other hand, the overhead
    of dma map and unmap is huge when IOMMU is on.
    
    So add a queue based tx shared bounce buffer to memcpy the small
    packet when the len of the xmitted skb is below tx_copybreak.
    Add tx_spare_buf_size module param to set the size of tx spare
    buffer, and add set/get_tunable to set or query the tx_copybreak.
    
    The throughtput improves from 30 Gbps to 90+ Gbps when running 16
    netperf threads with 32KB UDP message size when IOMMU is in the
    strict mode(tx_copybreak = 2000 and mtu = 1500).
    
    Suggested-by: Barry Song <song.bao.hua@hisilicon.com>
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021
  32. net: hns3: refactor for hns3_fill_desc() function

    Factor out hns3_fill_desc() so that it can be reused in the
    tx bounce supporting.
    
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021
  33. net: hns3: minor refactor related to desc_cb handling

    desc_cb is used to store mapping and freeing info for the
    corresponding desc, which is used in the cleaning process.
    There will be more desc_cb type coming up when supporting the
    tx bounce buffer, change desc_cb type to bit-wise value in order
    to reduce the desc_cb type checking operation in the data path.
    
    Also move the desc_cb type definition to hns3_enet.h because it
    is only used in hns3_enet.c, and declare a local variable desc_cb
    in hns3_clear_desc() to reduce lines of code.
    
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yunsheng Lin authored and davem330 committed Jun 16, 2021

Commits on Jun 15, 2021

  1. net: ti: add pp skb recycling support

    As already done for mvneta and mvpp2, enable skb recycling for ti
    ethernet drivers
    
    ti driver on net-next:
    ----------------------
    [perf top]
     47.15%  [kernel]     [k] _raw_spin_unlock_irqrestore
     11.77%  [kernel]     [k] __cpdma_chan_free
      3.16%  [kernel]     [k] ___bpf_prog_run
      2.52%  [kernel]     [k] cpsw_rx_vlan_encap
      2.34%  [kernel]     [k] __netif_receive_skb_core
      2.27%  [kernel]     [k] free_unref_page
      2.26%  [kernel]     [k] kmem_cache_free
      2.24%  [kernel]     [k] kmem_cache_alloc
      1.69%  [kernel]     [k] __softirqentry_text_start
      1.61%  [kernel]     [k] cpsw_rx_handler
      1.19%  [kernel]     [k] page_pool_release_page
      1.19%  [kernel]     [k] clear_bits_ll
      1.15%  [kernel]     [k] page_frag_free
      1.06%  [kernel]     [k] __dma_page_dev_to_cpu
      0.99%  [kernel]     [k] memset
      0.94%  [kernel]     [k] __alloc_pages_bulk
      0.92%  [kernel]     [k] kfree_skb
      0.85%  [kernel]     [k] packet_rcv
      0.78%  [kernel]     [k] page_address
      0.75%  [kernel]     [k] v7_dma_inv_range
      0.71%  [kernel]     [k] __lock_text_start
    
    [iperf3 tcp]
    [  5]   0.00-10.00  sec   873 MBytes   732 Mbits/sec    0   sender
    [  5]   0.00-10.01  sec   866 MBytes   726 Mbits/sec        receiver
    
    ti + skb recycling:
    -------------------
    [perf top]
     40.58%  [kernel]    [k] _raw_spin_unlock_irqrestore
     16.18%  [kernel]    [k] __softirqentry_text_start
     10.33%  [kernel]    [k] __cpdma_chan_free
      2.62%  [kernel]    [k] ___bpf_prog_run
      2.05%  [kernel]    [k] cpsw_rx_vlan_encap
      2.00%  [kernel]    [k] kmem_cache_alloc
      1.86%  [kernel]    [k] __netif_receive_skb_core
      1.80%  [kernel]    [k] kmem_cache_free
      1.63%  [kernel]    [k] cpsw_rx_handler
      1.12%  [kernel]    [k] cpsw_rx_mq_poll
      1.11%  [kernel]    [k] page_pool_put_page
      1.04%  [kernel]    [k] _raw_spin_unlock
      0.97%  [kernel]    [k] clear_bits_ll
      0.90%  [kernel]    [k] packet_rcv
      0.88%  [kernel]    [k] __dma_page_dev_to_cpu
      0.85%  [kernel]    [k] kfree_skb
      0.80%  [kernel]    [k] memset
      0.71%  [kernel]    [k] __lock_text_start
      0.66%  [kernel]    [k] v7_dma_inv_range
      0.64%  [kernel]    [k] gen_pool_free_owner
    
    [iperf3 tcp]
    [  5]   0.00-10.00  sec   884 MBytes   742 Mbits/sec    0   sender
    [  5]   0.00-10.01  sec   878 MBytes   735 Mbits/sec        receiver
    
    Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
    Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    LorenzoBianconi authored and davem330 committed Jun 15, 2021
  2. net: wwan: iosm: Fix htmldocs warnings

    Fixes .rst file warnings seen on linux-next build.
    
    Fixes: f7af616 ("net: iosm: infrastructure")
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: M Chetan Kumar <m.chetan.kumar@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    mchetankumar authored and davem330 committed Jun 15, 2021
Older