[linux-next] LinuxNextTracking branch, master, updated. next-20180817

batman at open-mesh.org batman at open-mesh.org
Sat Aug 18 00:21:27 CEST 2018


The following commit has been merged in the master branch:
commit dafa5f6577a9eecd2941add553d1672c30b02364
Merge: 9a76aba02a37718242d7cdc294f0a3901928aa57 22240df7ac6d76a271197571a7be45addef2ba15
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 15 16:01:47 2018 -0700

    Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
    
    Pull crypto updates from Herbert Xu:
     "API:
       - Fix dcache flushing crash in skcipher.
       - Add hash finup self-tests.
       - Reschedule during speed tests.
    
      Algorithms:
       - Remove insecure vmac and replace it with vmac64.
       - Add public key verification for DH/ECDH.
    
      Drivers:
       - Decrease priority of sha-mb on x86.
       - Improve NEON latency/throughput on ARM64.
       - Add md5/sha384/sha512/des/3des to inside-secure.
       - Support eip197d in inside-secure.
       - Only register algorithms supported by the host in virtio.
       - Add cts and remove incompatible cts1 from ccree.
       - Add hisilicon SEC security accelerator driver.
       - Replace msm hwrng driver with qcom pseudo rng driver.
    
      Misc:
       - Centralize CRC polynomials"
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (121 commits)
      crypto: arm64/ghash-ce - implement 4-way aggregation
      crypto: arm64/ghash-ce - replace NEON yield check with block limit
      crypto: hisilicon - sec_send_request() can be static
      lib/mpi: remove redundant variable esign
      crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable
      crypto: arm64/aes-ce-gcm - implement 2-way aggregation
      crypto: arm64/aes-ce-gcm - operate on two input blocks at a time
      crypto: dh - make crypto_dh_encode_key() make robust
      crypto: dh - fix calculating encoded key size
      crypto: ccp - Check for NULL PSP pointer at module unload
      crypto: arm/chacha20 - always use vrev for 16-bit rotates
      crypto: ccree - allow bigger than sector XTS op
      crypto: ccree - zero all of request ctx before use
      crypto: ccree - remove cipher ivgen left overs
      crypto: ccree - drop useless type flag during reg
      crypto: ablkcipher - fix crash flushing dcache in error path
      crypto: blkcipher - fix crash flushing dcache in error path
      crypto: skcipher - fix crash flushing dcache in error path
      crypto: skcipher - remove unnecessary setting of walk->nbytes
      crypto: scatterwalk - remove scatterwalk_samebuf()
      ...

diff --combined MAINTAINERS
index 7d1282b2e3f9,7a68011bdcd0..967ce8cdd1cc
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -367,12 -367,6 +367,12 @@@ L:	linux-acpi at vger.kernel.or
  S:	Maintained
  F:	drivers/acpi/arm64
  
 +ACPI I2C MULTI INSTANTIATE DRIVER
 +M:	Hans de Goede <hdegoede at redhat.com>
 +L:	platform-driver-x86 at vger.kernel.org
 +S:	Maintained
 +F:	drivers/platform/x86/i2c-multi-instantiate.c
 +
  ACPI PMIC DRIVERS
  M:	"Rafael J. Wysocki" <rjw at rjwysocki.net>
  M:	Len Brown <lenb at kernel.org>
@@@ -2270,7 -2264,6 +2270,7 @@@ L:	linux-arm-kernel at lists.infradead.or
  T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
  S:	Maintained
  F:	arch/arm64/
 +X:	arch/arm64/boot/dts/
  F:	Documentation/arm64/
  
  AS3645A LED FLASH CONTROLLER DRIVER
@@@ -4407,12 -4400,6 +4407,12 @@@ X:	Documentation/sp
  X:	Documentation/media
  T:	git git://git.lwn.net/linux.git docs-next
  
 +DOCUMENTATION/ITALIAN
 +M:	Federico Vaga <federico.vaga at vaga.pv.it>
 +L:	linux-doc at vger.kernel.org
 +S:	Maintained
 +F:	Documentation/translations/it_IT
 +
  DONGWOON DW9714 LENS VOICE COIL DRIVER
  M:	Sakari Ailus <sakari.ailus at linux.intel.com>
  L:	linux-media at vger.kernel.org
@@@ -5457,7 -5444,6 +5457,7 @@@ F:	drivers/iommu/exynos-iommu.
  
  EZchip NPS platform support
  M:	Vineet Gupta <vgupta at synopsys.com>
 +M:	Ofer Levi <oferle at mellanox.com>
  S:	Supported
  F:	arch/arc/plat-eznps
  F:	arch/arc/boot/dts/eznps.dts
@@@ -5943,7 -5929,7 +5943,7 @@@ F:	Documentation/dev-tools/gcov.rs
  
  GDB KERNEL DEBUGGING HELPER SCRIPTS
  M:	Jan Kiszka <jan.kiszka at siemens.com>
 -M:	Kieran Bingham <kieran at bingham.xyz>
 +M:	Kieran Bingham <kbingham at kernel.org>
  S:	Supported
  F:	scripts/gdb/
  
@@@ -7041,7 -7027,7 +7041,7 @@@ M:	Guenter Roeck <linux at roeck-us.net
  L:	linux-hwmon at vger.kernel.org
  S:	Maintained
  F:	Documentation/hwmon/ina209
 -F:	Documentation/devicetree/bindings/i2c/ina209.txt
 +F:	Documentation/devicetree/bindings/hwmon/ina2xx.txt
  F:	drivers/hwmon/ina209.c
  
  INA2XX HARDWARE MONITOR DRIVER
@@@ -7364,7 -7350,7 +7364,7 @@@ M:	Megha Dey <megha.dey at linux.intel.com
  R:	Tim Chen <tim.c.chen at linux.intel.com>
  L:	linux-crypto at vger.kernel.org
  S:	Supported
- F:	arch/x86/crypto/sha*-mb
+ F:	arch/x86/crypto/sha*-mb/
  F:	crypto/mcryptd.c
  
  INTEL TELEMETRY DRIVER
@@@ -7999,7 -7985,7 +7999,7 @@@ F:	lib/test_kmod.
  F:	tools/testing/selftests/kmod/
  
  KPROBES
 -M:	Ananth N Mavinakayanahalli <ananth at linux.vnet.ibm.com>
 +M:	Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
  M:	Anil S Keshavamurthy <anil.s.keshavamurthy at intel.com>
  M:	"David S. Miller" <davem at davemloft.net>
  M:	Masami Hiramatsu <mhiramat at kernel.org>
@@@ -8330,18 -8316,17 +8330,18 @@@ M:	Jade Alglave <j.alglave at ucl.ac.uk
  M:	Luc Maranget <luc.maranget at inria.fr>
  M:	"Paul E. McKenney" <paulmck at linux.vnet.ibm.com>
  R:	Akira Yokosawa <akiyks at gmail.com>
 +R:	Daniel Lustig <dlustig at nvidia.com>
  L:	linux-kernel at vger.kernel.org
 +L:	linux-arch at vger.kernel.org
  S:	Supported
  T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
  F:	tools/memory-model/
 +F:	Documentation/atomic_bitops.txt
 +F:	Documentation/atomic_t.txt
 +F:	Documentation/core-api/atomic_ops.rst
 +F:	Documentation/core-api/refcount-vs-atomic.rst
  F:	Documentation/memory-barriers.txt
  
 -LINUX SECURITY MODULE (LSM) FRAMEWORK
 -M:	Chris Wright <chrisw at sous-sol.org>
 -L:	linux-security-module at vger.kernel.org
 -S:	Supported
 -
  LIS3LV02D ACCELEROMETER DRIVER
  M:	Eric Piel <eric.piel at tremplin-utc.net>
  S:	Maintained
@@@ -9002,14 -8987,6 +9002,14 @@@ F:	include/uapi/linux/meye.
  F:	include/uapi/linux/ivtv*
  F:	include/uapi/linux/uvcvideo.h
  
 +MEDIATEK BLUETOOTH DRIVER
 +M:	Sean Wang <sean.wang at mediatek.com>
 +L:	linux-bluetooth at vger.kernel.org
 +L:	linux-mediatek at lists.infradead.org (moderated for non-subscribers)
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
 +F:	drivers/bluetooth/btmtkuart.c
 +
  MEDIATEK CIR DRIVER
  M:	Sean Wang <sean.wang at mediatek.com>
  S:	Maintained
@@@ -9182,7 -9159,6 +9182,7 @@@ S:	Supporte
  W:	http://www.mellanox.com
  Q:	http://patchwork.ozlabs.org/project/netdev/list/
  F:	drivers/net/ethernet/mellanox/mlxsw/
 +F:	tools/testing/selftests/drivers/net/mlxsw/
  
  MELLANOX FIRMWARE FLASH LIBRARY (mlxfw)
  M:	mlxsw at mellanox.com
@@@ -9370,6 -9346,7 +9370,6 @@@ F:	drivers/media/platform/atmel/atmel-i
  F:	devicetree/bindings/media/atmel-isc.txt
  
  MICROCHIP / ATMEL NAND DRIVER
 -M:	Wenyou Yang <wenyou.yang at microchip.com>
  M:	Josh Wu <rainyfeeling at outlook.com>
  L:	linux-mtd at lists.infradead.org
  S:	Supported
@@@ -11280,7 -11257,7 +11280,7 @@@ F:	Documentation/devicetree/bindings/pi
  
  PIN CONTROLLER - INTEL
  M:	Mika Westerberg <mika.westerberg at linux.intel.com>
 -M:	Heikki Krogerus <heikki.krogerus at linux.intel.com>
 +M:	Andy Shevchenko <andriy.shevchenko at linux.intel.com>
  S:	Maintained
  F:	drivers/pinctrl/intel/
  
@@@ -12061,9 -12038,9 +12061,9 @@@ T:	git git://git.kernel.org/pub/scm/lin
  F:	Documentation/RCU/
  X:	Documentation/RCU/torture.txt
  F:	include/linux/rcu*
 -X:	include/linux/srcu.h
 +X:	include/linux/srcu*.h
  F:	kernel/rcu/
 -X:	kernel/torture.c
 +X:	kernel/rcu/srcu*.c
  
  REAL TIME CLOCK (RTC) SUBSYSTEM
  M:	Alessandro Zummo <a.zummo at towertech.it>
@@@ -12088,13 -12065,6 +12088,13 @@@ S:	Maintaine
  F:	sound/soc/codecs/rt*
  F:	include/sound/rt*.h
  
 +REALTEK RTL83xx SMI DSA ROUTER CHIPS
 +M:	Linus Walleij <linus.walleij at linaro.org>
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/net/dsa/realtek-smi.txt
 +F:	drivers/net/dsa/realtek-smi*
 +F:	drivers/net/dsa/rtl83*
 +
  REGISTER MAP ABSTRACTION
  M:	Mark Brown <broonie at kernel.org>
  L:	linux-kernel at vger.kernel.org
@@@ -12202,8 -12172,6 +12202,8 @@@ S:	Maintaine
  F:	Documentation/rfkill.txt
  F:	Documentation/ABI/stable/sysfs-class-rfkill
  F:	net/rfkill/
 +F:	include/linux/rfkill.h
 +F:	include/uapi/linux/rfkill.h
  
  RHASHTABLE
  M:	Thomas Graf <tgraf at suug.ch>
@@@ -12211,9 -12179,7 +12211,9 @@@ M:	Herbert Xu <herbert at gondor.apana.org
  L:	netdev at vger.kernel.org
  S:	Maintained
  F:	lib/rhashtable.c
 +F:	lib/test_rhashtable.c
  F:	include/linux/rhashtable.h
 +F:	include/linux/rhashtable-types.h
  
  RICOH R5C592 MEMORYSTICK DRIVER
  M:	Maxim Levitsky <maximlevitsky at gmail.com>
@@@ -12435,6 -12401,7 +12435,6 @@@ F:	drivers/pci/hotplug/s390_pci_hpc.
  
  S390 VFIO-CCW DRIVER
  M:	Cornelia Huck <cohuck at redhat.com>
 -M:	Dong Jia Shi <bjsdjshi at linux.ibm.com>
  M:	Halil Pasic <pasic at linux.ibm.com>
  L:	linux-s390 at vger.kernel.org
  L:	kvm at vger.kernel.org
@@@ -12819,7 -12786,6 +12819,7 @@@ T:	git git://git.kernel.org/pub/scm/lin
  W:	http://kernsec.org/
  S:	Supported
  F:	security/
 +X:	security/selinux/
  
  SELINUX SECURITY MODULE
  M:	Paul Moore <paul at paul-moore.com>
@@@ -13111,8 -13077,8 +13111,8 @@@ L:	linux-kernel at vger.kernel.or
  W:	http://www.rdrop.com/users/paulmck/RCU/
  S:	Supported
  T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
 -F:	include/linux/srcu.h
 -F:	kernel/rcu/srcu.c
 +F:	include/linux/srcu*.h
 +F:	kernel/rcu/srcu*.c
  
  SERIAL LOW-POWER INTER-CHIP MEDIA BUS (SLIMbus)
  M:	Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
@@@ -13608,13 -13574,6 +13608,13 @@@ L:	linux-block at vger.kernel.or
  S:	Maintained
  F:	drivers/block/skd*[ch]
  
 +STI AUDIO (ASoC) DRIVERS
 +M:	Arnaud Pouliquen <arnaud.pouliquen at st.com>
 +L:	alsa-devel at alsa-project.org (moderated for non-subscribers)
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
 +F:	sound/soc/sti/
 +
  STI CEC DRIVER
  M:	Benjamin Gaignard <benjamin.gaignard at linaro.org>
  S:	Maintained
@@@ -13628,14 -13587,6 +13628,14 @@@ T:	git git://linuxtv.org/media_tree.gi
  S:	Maintained
  F:	drivers/media/usb/stk1160/
  
 +STM32 AUDIO (ASoC) DRIVERS
 +M:	Olivier Moysan <olivier.moysan at st.com>
 +M:	Arnaud Pouliquen <arnaud.pouliquen at st.com>
 +L:	alsa-devel at alsa-project.org (moderated for non-subscribers)
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/sound/st,stm32-*.txt
 +F:	sound/soc/stm/
 +
  STM32 TIMER/LPTIMER DRIVERS
  M:	Fabrice Gasnier <fabrice.gasnier at st.com>
  S:	Maintained
@@@ -14106,13 -14057,6 +14106,13 @@@ M:	Laxman Dewangan <ldewangan at nvidia.co
  S:	Supported
  F:	drivers/input/keyboard/tegra-kbc.c
  
 +TEGRA NAND DRIVER
 +M:	Stefan Agner <stefan at agner.ch>
 +M:	Lucas Stach <dev at lynxeye.de>
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt
 +F:	drivers/mtd/nand/raw/tegra_nand.c
 +
  TEGRA PWM DRIVER
  M:	Thierry Reding <thierry.reding at gmail.com>
  S:	Supported
@@@ -14493,7 -14437,6 +14493,7 @@@ T:	git git://git.kernel.org/pub/scm/lin
  F:	Documentation/RCU/torture.txt
  F:	kernel/torture.c
  F:	kernel/rcu/rcutorture.c
 +F:	kernel/rcu/rcuperf.c
  F:	kernel/locking/locktorture.c
  
  TOSHIBA ACPI EXTRAS DRIVER
diff --combined drivers/crypto/virtio/virtio_crypto_core.c
index 7c7198553699,8f745f28f78b..3c9e120287af
--- a/drivers/crypto/virtio/virtio_crypto_core.c
+++ b/drivers/crypto/virtio/virtio_crypto_core.c
@@@ -146,7 -146,7 +146,7 @@@ static void virtcrypto_clean_affinity(s
  
  	if (vi->affinity_hint_set) {
  		for (i = 0; i < vi->max_data_queues; i++)
 -			virtqueue_set_affinity(vi->data_vq[i].vq, -1);
 +			virtqueue_set_affinity(vi->data_vq[i].vq, NULL);
  
  		vi->affinity_hint_set = false;
  	}
@@@ -173,7 -173,7 +173,7 @@@ static void virtcrypto_set_affinity(str
  	 *
  	 */
  	for_each_online_cpu(cpu) {
 -		virtqueue_set_affinity(vcrypto->data_vq[i].vq, cpu);
 +		virtqueue_set_affinity(vcrypto->data_vq[i].vq, cpumask_of(cpu));
  		if (++i >= vcrypto->max_data_queues)
  			break;
  	}
@@@ -303,6 -303,13 +303,13 @@@ static int virtcrypto_probe(struct virt
  	u32 max_data_queues = 0, max_cipher_key_len = 0;
  	u32 max_auth_key_len = 0;
  	u64 max_size = 0;
+ 	u32 cipher_algo_l = 0;
+ 	u32 cipher_algo_h = 0;
+ 	u32 hash_algo = 0;
+ 	u32 mac_algo_l = 0;
+ 	u32 mac_algo_h = 0;
+ 	u32 aead_algo = 0;
+ 	u32 crypto_services = 0;
  
  	if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1))
  		return -ENODEV;
@@@ -339,6 -346,20 +346,20 @@@
  		max_auth_key_len, &max_auth_key_len);
  	virtio_cread(vdev, struct virtio_crypto_config,
  		max_size, &max_size);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		crypto_services, &crypto_services);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		cipher_algo_l, &cipher_algo_l);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		cipher_algo_h, &cipher_algo_h);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		hash_algo, &hash_algo);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		mac_algo_l, &mac_algo_l);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		mac_algo_h, &mac_algo_h);
+ 	virtio_cread(vdev, struct virtio_crypto_config,
+ 		aead_algo, &aead_algo);
  
  	/* Add virtio crypto device to global table */
  	err = virtcrypto_devmgr_add_dev(vcrypto);
@@@ -358,6 -379,14 +379,14 @@@
  	vcrypto->max_cipher_key_len = max_cipher_key_len;
  	vcrypto->max_auth_key_len = max_auth_key_len;
  	vcrypto->max_size = max_size;
+ 	vcrypto->crypto_services = crypto_services;
+ 	vcrypto->cipher_algo_l = cipher_algo_l;
+ 	vcrypto->cipher_algo_h = cipher_algo_h;
+ 	vcrypto->mac_algo_l = mac_algo_l;
+ 	vcrypto->mac_algo_h = mac_algo_h;
+ 	vcrypto->hash_algo = hash_algo;
+ 	vcrypto->aead_algo = aead_algo;
+ 
  
  	dev_info(&vdev->dev,
  		"max_queues: %u, max_cipher_key_len: %u, max_auth_key_len: %u, max_size 0x%llx\n",
diff --combined drivers/net/ethernet/broadcom/tg3.c
index d8dad07f826a,b7fb640dbcf0..e6f28c7942ab
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@@ -54,6 -54,7 +54,7 @@@
  #include <linux/ssb/ssb_driver_gige.h>
  #include <linux/hwmon.h>
  #include <linux/hwmon-sysfs.h>
+ #include <linux/crc32poly.h>
  
  #include <net/checksum.h>
  #include <net/ip.h>
@@@ -725,7 -726,6 +726,7 @@@ static int tg3_ape_lock(struct tg3 *tp
  	case TG3_APE_LOCK_GPIO:
  		if (tg3_asic_rev(tp) == ASIC_REV_5761)
  			return 0;
 +		/* else: fall through */
  	case TG3_APE_LOCK_GRC:
  	case TG3_APE_LOCK_MEM:
  		if (!tp->pci_fn)
@@@ -786,7 -786,6 +787,7 @@@ static void tg3_ape_unlock(struct tg3 *
  	case TG3_APE_LOCK_GPIO:
  		if (tg3_asic_rev(tp) == ASIC_REV_5761)
  			return;
 +		/* else: fall through */
  	case TG3_APE_LOCK_GRC:
  	case TG3_APE_LOCK_MEM:
  		if (!tp->pci_fn)
@@@ -9722,7 -9721,7 +9723,7 @@@ static inline u32 calc_crc(unsigned cha
  			reg >>= 1;
  
  			if (tmp)
- 				reg ^= 0xedb88320;
+ 				reg ^= CRC32_POLY_LE;
  		}
  	}
  
@@@ -10721,40 -10720,28 +10722,40 @@@ static int tg3_reset_hw(struct tg3 *tp
  	switch (limit) {
  	case 16:
  		tw32(MAC_RCV_RULE_15,  0); tw32(MAC_RCV_VALUE_15,  0);
 +		/* fall through */
  	case 15:
  		tw32(MAC_RCV_RULE_14,  0); tw32(MAC_RCV_VALUE_14,  0);
 +		/* fall through */
  	case 14:
  		tw32(MAC_RCV_RULE_13,  0); tw32(MAC_RCV_VALUE_13,  0);
 +		/* fall through */
  	case 13:
  		tw32(MAC_RCV_RULE_12,  0); tw32(MAC_RCV_VALUE_12,  0);
 +		/* fall through */
  	case 12:
  		tw32(MAC_RCV_RULE_11,  0); tw32(MAC_RCV_VALUE_11,  0);
 +		/* fall through */
  	case 11:
  		tw32(MAC_RCV_RULE_10,  0); tw32(MAC_RCV_VALUE_10,  0);
 +		/* fall through */
  	case 10:
  		tw32(MAC_RCV_RULE_9,  0); tw32(MAC_RCV_VALUE_9,  0);
 +		/* fall through */
  	case 9:
  		tw32(MAC_RCV_RULE_8,  0); tw32(MAC_RCV_VALUE_8,  0);
 +		/* fall through */
  	case 8:
  		tw32(MAC_RCV_RULE_7,  0); tw32(MAC_RCV_VALUE_7,  0);
 +		/* fall through */
  	case 7:
  		tw32(MAC_RCV_RULE_6,  0); tw32(MAC_RCV_VALUE_6,  0);
 +		/* fall through */
  	case 6:
  		tw32(MAC_RCV_RULE_5,  0); tw32(MAC_RCV_VALUE_5,  0);
 +		/* fall through */
  	case 5:
  		tw32(MAC_RCV_RULE_4,  0); tw32(MAC_RCV_VALUE_4,  0);
 +		/* fall through */
  	case 4:
  		/* tw32(MAC_RCV_RULE_3,  0); tw32(MAC_RCV_VALUE_3,  0); */
  	case 3:
diff --combined drivers/net/ethernet/freescale/fec_main.c
index 76366c735831,a7cb378ef881..2708297e7795
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@@ -48,7 -48,7 +48,7 @@@
  #include <linux/io.h>
  #include <linux/irq.h>
  #include <linux/clk.h>
 -#include <linux/crc32poly.h>
 +#include <linux/crc32.h>
  #include <linux/platform_device.h>
  #include <linux/mdio.h>
  #include <linux/phy.h>
@@@ -2950,13 -2950,12 +2950,12 @@@ fec_enet_close(struct net_device *ndev
   */
  
  #define FEC_HASH_BITS	6		/* #bits in hash */
- #define CRC32_POLY	0xEDB88320
  
  static void set_multicast_list(struct net_device *ndev)
  {
  	struct fec_enet_private *fep = netdev_priv(ndev);
  	struct netdev_hw_addr *ha;
 -	unsigned int i, bit, data, crc, tmp;
 +	unsigned int crc, tmp;
  	unsigned char hash;
  	unsigned int hash_high = 0, hash_low = 0;
  
@@@ -2984,7 -2983,15 +2983,7 @@@
  	/* Add the addresses in hash register */
  	netdev_for_each_mc_addr(ha, ndev) {
  		/* calculate crc32 value of mac address */
 -		crc = 0xffffffff;
 -
 -		for (i = 0; i < ndev->addr_len; i++) {
 -			data = ha->addr[i];
 -			for (bit = 0; bit < 8; bit++, data >>= 1) {
 -				crc = (crc >> 1) ^
 -				(((crc ^ data) & 1) ? CRC32_POLY_LE : 0);
 -			}
 -		}
 +		crc = ether_crc_le(ndev->addr_len, ha->addr);
  
  		/* only upper 6 bits (FEC_HASH_BITS) are used
  		 * which point to specific bit in the hash registers
@@@ -3129,7 -3136,6 +3128,7 @@@ static int fec_enet_init(struct net_dev
  	unsigned dsize = fep->bufdesc_ex ? sizeof(struct bufdesc_ex) :
  			sizeof(struct bufdesc);
  	unsigned dsize_log2 = __fls(dsize);
 +	int ret;
  
  	WARN_ON(dsize != (1 << dsize_log2));
  #if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
@@@ -3140,13 -3146,6 +3139,13 @@@
  	fep->tx_align = 0x3;
  #endif
  
 +	/* Check mask of the streaming and coherent API */
 +	ret = dma_set_mask_and_coherent(&fep->pdev->dev, DMA_BIT_MASK(32));
 +	if (ret < 0) {
 +		dev_warn(&fep->pdev->dev, "No suitable DMA available\n");
 +		return ret;
 +	}
 +
  	fec_enet_alloc_queue(ndev);
  
  	bd_size = (fep->total_tx_ring_size + fep->total_rx_ring_size) * dsize;
diff --combined net/tls/tls_device_fallback.c
index e3313c45663f,4e1ec12bc0fb..6102169239d1
--- a/net/tls/tls_device_fallback.c
+++ b/net/tls/tls_device_fallback.c
@@@ -42,7 -42,7 +42,7 @@@ static void chain_to_walk(struct scatte
  	sg_set_page(sg, sg_page(src),
  		    src->length - diff, walk->offset);
  
- 	scatterwalk_crypto_chain(sg, sg_next(src), 0, 2);
+ 	scatterwalk_crypto_chain(sg, sg_next(src), 2);
  }
  
  static int tls_enc_record(struct aead_request *aead_req,
@@@ -214,7 -214,7 +214,7 @@@ static void complete_skb(struct sk_buf
  
  static int fill_sg_in(struct scatterlist *sg_in,
  		      struct sk_buff *skb,
 -		      struct tls_offload_context *ctx,
 +		      struct tls_offload_context_tx *ctx,
  		      u64 *rcd_sn,
  		      s32 *sync_size,
  		      int *resync_sgs)
@@@ -299,7 -299,7 +299,7 @@@ static struct sk_buff *tls_enc_skb(stru
  				   s32 sync_size, u64 rcd_sn)
  {
  	int tcp_payload_offset = skb_transport_offset(skb) + tcp_hdrlen(skb);
 -	struct tls_offload_context *ctx = tls_offload_ctx(tls_ctx);
 +	struct tls_offload_context_tx *ctx = tls_offload_ctx_tx(tls_ctx);
  	int payload_len = skb->len - tcp_payload_offset;
  	void *buf, *iv, *aad, *dummy_buf;
  	struct aead_request *aead_req;
@@@ -361,7 -361,7 +361,7 @@@ static struct sk_buff *tls_sw_fallback(
  {
  	int tcp_payload_offset = skb_transport_offset(skb) + tcp_hdrlen(skb);
  	struct tls_context *tls_ctx = tls_get_ctx(sk);
 -	struct tls_offload_context *ctx = tls_offload_ctx(tls_ctx);
 +	struct tls_offload_context_tx *ctx = tls_offload_ctx_tx(tls_ctx);
  	int payload_len = skb->len - tcp_payload_offset;
  	struct scatterlist *sg_in, sg_out[3];
  	struct sk_buff *nskb = NULL;
@@@ -413,10 -413,9 +413,10 @@@ struct sk_buff *tls_validate_xmit_skb(s
  
  	return tls_sw_fallback(sk, skb);
  }
 +EXPORT_SYMBOL_GPL(tls_validate_xmit_skb);
  
  int tls_sw_fallback_init(struct sock *sk,
 -			 struct tls_offload_context *offload_ctx,
 +			 struct tls_offload_context_tx *offload_ctx,
  			 struct tls_crypto_info *crypto_info)
  {
  	const u8 *key;

-- 
LinuxNextTracking


More information about the linux-merge mailing list