#
ccab434e |
|
15-Nov-2023 |
Oliver Neukum <oneukum@suse.com> |
usb: aqc111: check packet for fixup for true limit If a device sends a packet that is inbetween 0 and sizeof(u64) the value passed to skb_trim() as length will wrap around ending up as some very large value. The driver will then proceed to parse the header located at that position, which will either oops or process some random value. The fix is to check against sizeof(u64) rather than 0, which the driver currently does. The issue exists since the introduction of the driver. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
fb3ceec1 |
|
30-Aug-2022 |
Wolfram Sang <wsa+renesas@sang-engineering.com> |
net: move from strlcpy with unused retval to strscpy Follow the advice of the below link and prefer 'strscpy' in this subsystem. Conversion is 1:1 because the return value is not used. Generated by a coccinelle script. Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/ Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> # for CAN Link: https://lore.kernel.org/r/20220830201457.7984-1-wsa+renesas@sang-engineering.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
#
ee8b7a11 |
|
05-May-2022 |
Jakub Kicinski <kuba@kernel.org> |
net: make drivers set the TSO limit not the GSO limit Drivers should call the TSO setting helper, GSO is controllable by user space. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
afb8e246 |
|
06-Apr-2022 |
Marcin Kozlowski <marcinguy@gmail.com> |
net: usb: aqc111: Fix out-of-bounds accesses in RX fixup aqc111_rx_fixup() contains several out-of-bounds accesses that can be triggered by a malicious (or defective) USB device, in particular: - The metadata array (desc_offset..desc_offset+2*pkt_count) can be out of bounds, causing OOB reads and (on big-endian systems) OOB endianness flips. - A packet can overlap the metadata array, causing a later OOB endianness flip to corrupt data used by a cloned SKB that has already been handed off into the network stack. - A packet SKB can be constructed whose tail is far beyond its end, causing out-of-bounds heap data to be considered part of the SKB's data. Found doing variant analysis. Tested it with another driver (ax88179_178a), since I don't have a aqc111 device to test it, but the code looks very similar. Signed-off-by: Marcin Kozlowski <marcinguy@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
76660757 |
|
14-Oct-2021 |
Jakub Kicinski <kuba@kernel.org> |
ethernet: constify references to netdev->dev_addr in drivers This big patch sprinkles const on local variables and function arguments which may refer to netdev->dev_addr. Commit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers. Some of the changes here are not strictly required - const is sometimes cast off but pointer is not used for writing. It seems like it's still better to add the const in case the code changes later or relevant -W flags get enabled for the build. No functional changes. Link: https://lore.kernel.org/r/20211014142432.449314-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
#
af804e6d |
|
01-Oct-2021 |
Jakub Kicinski <kuba@kernel.org> |
net: usb: use eth_hw_addr_set() instead of ether_addr_copy() Commit 406f42fa0d3c ("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintain netdev->dev_addr in this tree we need to make all the writes to it got through appropriate helpers. Convert net/usb from ether_addr_copy() to eth_hw_addr_set(): @@ expression dev, np; @@ - ether_addr_copy(dev->dev_addr, np) + eth_hw_addr_set(dev, np) Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
323955a0 |
|
10-Nov-2020 |
Heiner Kallweit <hkallweit1@gmail.com> |
net: usb: switch to dev_get_tstats64 and remove usbnet_get_stats64 alias Replace usbnet_get_stats64() with new identical core function dev_get_tstats64() in all users and remove usbnet_get_stats64(). Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Acked-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
#
df561f66 |
|
23-Aug-2020 |
Gustavo A. R. Silva <gustavoars@kernel.org> |
treewide: Use fallthrough pseudo-keyword Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary fall-through markings when it is the case. [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
|
#
6ae6d332 |
|
16-May-2019 |
Igor Russkikh <Igor.Russkikh@aquantia.com> |
aqc111: cleanup mtu related logic Original fix b8b277525e9d was done under impression that invalid data could be written for mtu configuration higher that 16334. But the high limit will anyway be rejected my max_mtu check in caller. Thus, make the code cleaner and allow it doing the configuration without checking for maximum mtu value. Fixes: b8b277525e9d ("aqc111: fix endianness issue in aqc111_change_mtu") Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
9e598a65 |
|
16-May-2019 |
Igor Russkikh <Igor.Russkikh@aquantia.com> |
Revert "aqc111: fix writing to the phy on BE" This reverts commit 369b46e9fbcfa5136f2cb5f486c90e5f7fa92630. The required temporary storage is already done inside of write32/16 helpers. Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
5aee080f |
|
16-May-2019 |
Igor Russkikh <Igor.Russkikh@aquantia.com> |
Revert "aqc111: fix double endianness swap on BE" This reverts commit 2cf672709beb005f6e90cb4edbed6f2218ba953e. The required temporary storage is already done inside of write32/16 helpers. Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
2cf67270 |
|
09-May-2019 |
Oliver Neukum <oneukum@suse.com> |
aqc111: fix double endianness swap on BE If you are using a function that does a swap in place, you cannot just reuse the buffer on the assumption that it has not been changed. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
369b46e9 |
|
09-May-2019 |
Oliver Neukum <oneukum@suse.com> |
aqc111: fix writing to the phy on BE When writing to the phy on BE architectures an internal data structure was directly given, leading to it being byte swapped in the wrong way for the CPU in 50% of all cases. A temporary buffer must be used. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
b8b27752 |
|
09-May-2019 |
Oliver Neukum <oneukum@suse.com> |
aqc111: fix endianness issue in aqc111_change_mtu If the MTU is large enough, the first write to the device is just repeated. On BE architectures, however, the first word of the command will be swapped a second time and garbage will be written. Avoid that. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
b7ebee2f |
|
23-Mar-2019 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Extend HWID table by QNAP device New device of QNAP based on aqc111u Add this ID to blacklist of cdc_ether driver as well Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
9098f21f |
|
14-Jan-2019 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Extend HWID table by TRENDnet device New device of TRENDnet based on aqc111u Add this ID to blacklist of cdc_ether driver as well Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
97e6c858 |
|
28-Nov-2018 |
Nathan Chancellor <nathan@kernel.org> |
net: usb: aqc111: Initialize wol_cfg with memset in aqc111_suspend Clang warns: drivers/net/usb/aqc111.c:1326:37: warning: suggest braces around initialization of subobject [-Wmissing-braces] struct aqc111_wol_cfg wol_cfg = { 0 }; ^ {} 1 warning generated. Use memset to initialize the object to take compiler instrumentation out of the equation. Fixes: e58ba4544c77 ("net: usb: aqc111: Add support for wake on LAN by MAGIC packet") Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
fa61ce4d |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add ASIX's HW ids It enables driver for ASIX products which are also based on aqc111/112U chips. Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
e58ba454 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for wake on LAN by MAGIC packet Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
abbd8e7d |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Implement get/set_link_ksettings callbacks Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
027e6f78 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Initialize ethtool_ops structure Implement get_drvinfo, set/get_msglevel, get_link callbacks Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
4189673a |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add RX VLAN filtering support Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
7afa6c98 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for VLAN_CTAG_TX/RX offload Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
59b04eea |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Implement set_rx_mode callback Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
de074e7a |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for TSO Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
6649d2a6 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for enable/disable checksum offload Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
a4017cc2 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for changing MTU Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
02031466 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add checksum offload support Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
361459cd |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Implement RX data path Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
4a3576d2 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Implement TX data path Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
df2d59a2 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add support for getting and setting of MAC address Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
7b8b0654 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Introduce link management Add full hardware initialization sequence and link configuration logic Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
33cd597f |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Introduce PHY access Add helpers to write 32bit values. Implement PHY power up/down sequences. AQC111, PHY is being controlled via vendor command interface. Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
f3aa095a |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Various callbacks implementation Reset, stop callbacks, driver unbind callback. More register defines required for these callbacks. Add helpers to read/write 16bit values Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
619fcb44 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add implementation of read and write commands Read/write command register defines and functions Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
7cea2d40 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Add bind and empty unbind callbacks Initialize net_device_ops structure Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
17364b80 |
|
26-Nov-2018 |
Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> |
net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE Initialize usb_driver structure skeleton Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|