linux/drivers/net/phy
Ard Biesheuvel 5a3235e50c net: phy: mscc: avoid skcipher API for single block AES encryption
The skcipher API dynamically instantiates the transformation object
on request that implements the requested algorithm optimally on the
given platform. This notion of optimality only matters for cases like
bulk network or disk encryption, where performance can be a bottleneck,
or in cases where the algorithm itself is not known at compile time.

In the mscc case, we are dealing with AES encryption of a single
block, and so neither concern applies, and we are better off using
the AES library interface, which is lightweight and safe for this
kind of use.

Note that the scatterlist API does not permit references to buffers
that are located on the stack, so the existing code is incorrect in
any case, but avoiding the skcipher and scatterlist APIs entirely is
the most straight-forward approach to fixing this.

Cc: Antoine Tenart <antoine.tenart@bootlin.com>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Heiner Kallweit <hkallweit1@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Fixes: 28c5107aa9 ("net: phy: mscc: macsec support")
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-06-25 12:16:14 -07:00
..
mscc net: phy: mscc: avoid skcipher API for single block AES encryption 2020-06-25 12:16:14 -07:00
adin.c net: phy: adin: fix a warning about msleep 2020-01-19 16:06:42 +01:00
amd.c
aquantia_hwmon.c
aquantia_main.c net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
aquantia.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
at803x.c net: phy: at803x: add cable diagnostics support for ATH9331 and ATH8032 2020-05-26 23:26:04 -07:00
ax88796b.c
bcm7xxx.c net: phy: bcm7xx: add jumbo frame configuration to PHY 2020-03-27 16:07:24 -07:00
bcm63xx.c net: phy: bcm63xx: fix OOPS due to missing driver name 2020-03-03 17:37:06 -08:00
bcm87xx.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
bcm54140.c net: phy: bcm54140: add cable diagnostics support 2020-05-13 12:52:39 -07:00
bcm84881.c net: phy: bcm84881: clear settings on link down 2020-04-23 15:55:35 -07:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: don't export RDB/legacy access methods 2020-06-01 12:02:57 -07:00
bcm-phy-lib.h net: phy: broadcom: add cable test support 2020-05-13 12:52:38 -07:00
broadcom.c net: phy: broadcom: fix checkpatch complains about tabs 2020-05-16 13:38:33 -07:00
cicada.c
cortina.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
davicom.c
dp83tc811.c net: phy: DP83TC811: Fix WoL in config init to be disabled 2020-05-01 15:23:44 -07:00
dp83640_reg.h
dp83640.c dp83640: reverse arguments to list_add_tail 2020-04-30 17:48:26 -07:00
dp83822.c net: phy: DP83822: Fix WoL in config init to be disabled 2020-05-01 15:23:44 -07:00
dp83848.c
dp83867.c net: dp83867: Fix OF_MDIO config check 2020-06-05 13:15:22 -07:00
dp83869.c net: dp83869: Reset return variable if PHY strap is read 2020-06-06 15:53:44 -07:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: Remove unused seqcount 2020-06-04 15:50:42 -07:00
icplus.c
intel-xway.c
Kconfig net: phy: mscc: avoid skcipher API for single block AES encryption 2020-06-25 12:16:14 -07:00
linkmode.c net: add linkmode helper for setting flow control advertisement 2020-02-16 19:39:44 -08:00
lxt.c net: phy: provide and use genphy_read_status_fixed() 2019-12-19 12:52:34 -08:00
Makefile net: phy: mdio: add IPQ4019 MDIO driver 2020-04-30 12:11:14 -07:00
marvell10g.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
marvell.c net: marvell: Fix OF_MDIO config check 2020-06-05 13:15:22 -07:00
mdio_bus.c net: mdiobus: Disable preemption upon u64_stats update 2020-06-04 15:50:42 -07:00
mdio_device.c net: phy: allow for reset line to be tied to a sleepy GPIO controller 2019-10-04 18:07:45 -07:00
mdio-aspeed.c
mdio-bcm-iproc.c net: phy: Make iproc_mdio_resume static 2020-05-07 12:55:29 -07:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Fix clock handling 2020-03-24 16:45:32 -07:00
mdio-bitbang.c
mdio-boardinfo.c
mdio-boardinfo.h
mdio-cavium.c
mdio-cavium.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-gpio.c
mdio-hisi-femac.c phy: mdio-hisi-femac: use devm_platform_ioremap_resource() to simplify code 2019-08-28 14:51:00 -07:00
mdio-i2c.c net: mdio-i2c: add support for Clause 45 accesses 2019-12-11 11:53:41 -08:00
mdio-i2c.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-ipq4019.c net: phy: mdio: add IPQ4019 MDIO driver 2020-04-30 12:11:14 -07:00
mdio-ipq8064.c net: mdio: add ipq8064 mdio driver 2020-03-06 22:07:05 -08:00
mdio-moxart.c net: phy: mdio-moxart: remove unneeded include 2020-05-14 17:58:46 -07:00
mdio-mscc-miim.c net: phy: mscc-miim: read poll when high resolution timers are disabled 2020-05-26 15:33:56 -07:00
mdio-mux-bcm-iproc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
mdio-mux-gpio.c
mdio-mux-meson-g12a.c clk: let init callback return an error code 2019-12-23 18:53:13 -08:00
mdio-mux-mmioreg.c
mdio-mux-multiplexer.c
mdio-mux.c
mdio-mvusb.c net: phy: add marvell usb to mdio controller 2020-03-26 19:49:34 -07:00
mdio-octeon.c
mdio-sun4i.c phy: mdio-sun4i: add missed regulator_disable in remove 2019-11-18 17:22:40 -08:00
mdio-thunder.c phy: mdio-thunder: add missed pci_release_regions in remove 2019-12-06 12:05:06 -08:00
mdio-xgene.c
mdio-xgene.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-xpcs.c net: phy: xpcs: Restart AutoNeg if outcome was invalid 2020-03-23 21:01:58 -07:00
meson-gxl.c
micrel.c net: phy: micrel: add phy-mode support for the KSZ9031 PHY 2020-04-22 19:38:46 -07:00
microchip_t1.c net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. 2020-04-22 11:38:58 -07:00
microchip.c
mii_timestamper.c net: mii_timestamper: fix static allocation by PHY driver 2020-01-31 07:46:11 -08:00
national.c net/phy: fix DP83865 10 Mbps HDX loopback disable function 2019-09-21 18:21:52 -07:00
nxp-tja11xx.c net: ethtool: Add generic parts of cable test TDR 2020-05-26 23:21:48 -07:00
phy_device.c net: phy: call phy_disable_interrupts() in phy_init_hw() 2020-06-24 14:52:49 -07:00
phy_led_triggers.c
phy-c45.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
phy-core.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
phy.c net: phy: make phy_disable_interrupts() non-static 2020-06-24 14:52:49 -07:00
phylink.c net: phylink: ensure manual pause mode configuration takes effect 2020-06-23 20:53:28 -07:00
qsemi.c
realtek.c net: phy: realtek: add delay to resume path of certain internal PHY's 2020-04-20 11:12:29 -07:00
rockchip.c
sfp-bus.c net: phy: sfp-bus.c: get rid of docs warnings 2020-03-17 23:39:29 -07:00
sfp.c net: sfp: report error on failure to read sfp soft status 2019-12-19 17:26:07 -08:00
sfp.h net: sfp: add module start/stop upstream notifications 2019-12-11 11:53:41 -08:00
smsc.c net: phy: smsc: fix printing too many logs 2020-06-22 16:08:48 -07:00
spi_ks8995.c
ste10Xp.c
swphy.c Update rmk's email address in various drivers 2020-04-21 17:50:09 +01:00
swphy.h
teranetics.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
uPD60620.c net: phy: use phy_resolve_aneg_pause() 2019-12-19 12:52:34 -08:00
vitesse.c
xilinx_gmii2rgmii.c net: phy: gmii2rgmii: Dont use priv field in phy device 2019-09-05 12:32:06 +02:00