Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03250e10 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:
 "Let's begin the holiday weekend with some networking fixes:

   1) Whoops need to restrict cfg80211 wiphy names even more to 64
      bytes. From Eric Biggers.

   2) Fix flags being ignored when using kernel_connect() with SCTP,
      from Xin Long.

   3) Use after free in DCCP, from Alexey Kodanev.

   4) Need to check rhltable_init() return value in ipmr code, from Eric
      Dumazet.

   5) XDP handling fixes in virtio_net from Jason Wang.

   6) Missing RTA_TABLE in rtm_ipv4_policy[], from Roopa Prabhu.

   7) Need to use IRQ disabling spinlocks in mlx4_qp_lookup(), from Jack
      Morgenstein.

   8) Prevent out-of-bounds speculation using indexes in BPF, from
      Daniel Borkmann.

   9) Fix regression added by AF_PACKET link layer cure, from Willem de
      Bruijn.

  10) Correct ENIC dma mask, from Govindarajulu Varadarajan.

  11) Missing config options for PMTU tests, from Stefano Brivio"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (48 commits)
  ibmvnic: Fix partial success login retries
  selftests/net: Add missing config options for PMTU tests
  mlx4_core: allocate ICM memory in page size chunks
  enic: set DMA mask to 47 bit
  ppp: remove the PPPIOCDETACH ioctl
  ipv4: remove warning in ip_recv_error
  net : sched: cls_api: deal with egdev path only if needed
  vhost: synchronize IOTLB message with dev cleanup
  packet: fix reserve calculation
  net/mlx5: IPSec, Fix a race between concurrent sandbox QP commands
  net/mlx5e: When RXFCS is set, add FCS data into checksum calculation
  bpf: properly enforce index mask to prevent out-of-bounds speculation
  net/mlx4: Fix irq-unsafe spinlock usage
  net: phy: broadcom: Fix bcm_write_exp()
  net: phy: broadcom: Fix auxiliary control register reads
  net: ipv4: add missing RTA_TABLE to rtm_ipv4_policy
  net/mlx4: fix spelling mistake: "Inrerface" -> "Interface" and rephrase message
  ibmvnic: Only do H_EOI for mobility events
  tuntap: correctly set SOCKWQ_ASYNC_NOSPACE
  virtio-net: fix leaking page for gso packet during mergeable XDP
  ...
parents 62d18ecf eb110410
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -300,12 +300,6 @@ unattached instance are:
The ioctl calls available on an instance of /dev/ppp attached to a
channel are:

* PPPIOCDETACH detaches the instance from the channel.  This ioctl is
  deprecated since the same effect can be achieved by closing the
  instance.  In order to prevent possible races this ioctl will fail
  with an EINVAL error if more than one file descriptor refers to this
  instance (i.e. as a result of dup(), dup2() or fork()).

* PPPIOCCONNECT connects this channel to a PPP interface.  The
  argument should point to an int containing the interface unit
  number.  It will return an EINVAL error if the channel is already
+4 −4
Original line number Diff line number Diff line
@@ -2332,7 +2332,7 @@ F: drivers/gpio/gpio-ath79.c
F:	Documentation/devicetree/bindings/gpio/gpio-ath79.txt

ATHEROS ATH GENERIC UTILITIES
M:	"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
M:	Kalle Valo <kvalo@codeaurora.org>
L:	linux-wireless@vger.kernel.org
S:	Supported
F:	drivers/net/wireless/ath/*
@@ -2347,7 +2347,7 @@ S: Maintained
F:	drivers/net/wireless/ath/ath5k/

ATHEROS ATH6KL WIRELESS DRIVER
M:	Kalle Valo <kvalo@qca.qualcomm.com>
M:	Kalle Valo <kvalo@codeaurora.org>
L:	linux-wireless@vger.kernel.org
W:	http://wireless.kernel.org/en/users/Drivers/ath6kl
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
@@ -11626,7 +11626,7 @@ S: Maintained
F:	drivers/media/tuners/qt1010*

QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
M:	Kalle Valo <kvalo@qca.qualcomm.com>
M:	Kalle Valo <kvalo@codeaurora.org>
L:	ath10k@lists.infradead.org
W:	http://wireless.kernel.org/en/users/Drivers/ath10k
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
@@ -11677,7 +11677,7 @@ S: Maintained
F:	drivers/media/platform/qcom/venus/

QUALCOMM WCN36XX WIRELESS DRIVER
M:	Eugene Krasnikov <k.eugene.e@gmail.com>
M:	Kalle Valo <kvalo@codeaurora.org>
L:	wcn36xx@lists.infradead.org
W:	http://wireless.kernel.org/en/users/Drivers/wcn36xx
T:	git git://github.com/KrasnikovEugene/wcn36xx.git
+1 −1
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ static void bcma_core_mips_print_irq(struct bcma_device *dev, unsigned int irq)
{
	int i;
	static const char *irq_name[] = {"2(S)", "3", "4", "5", "6", "D", "I"};
	char interrupts[20];
	char interrupts[25];
	char *ints = interrupts;

	for (i = 0; i < ARRAY_SIZE(irq_name); i++)
+15 −7
Original line number Diff line number Diff line
@@ -388,10 +388,10 @@ void divasa_xdi_driver_unload(void)
**  Receive and process command from user mode utility
*/
void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			    int length,
			    int length, void *mptr,
			    divas_xdi_copy_from_user_fn_t cp_fn)
{
	diva_xdi_um_cfg_cmd_t msg;
	diva_xdi_um_cfg_cmd_t *msg = (diva_xdi_um_cfg_cmd_t *)mptr;
	diva_os_xdi_adapter_t *a = NULL;
	diva_os_spin_lock_magic_t old_irql;
	struct list_head *tmp;
@@ -401,21 +401,21 @@ void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			 length, sizeof(diva_xdi_um_cfg_cmd_t)))
			return NULL;
	}
	if ((*cp_fn) (os_handle, &msg, src, sizeof(msg)) <= 0) {
	if ((*cp_fn) (os_handle, msg, src, sizeof(*msg)) <= 0) {
		DBG_ERR(("A: A(?) open, write error"))
			return NULL;
	}
	diva_os_enter_spin_lock(&adapter_lock, &old_irql, "open_adapter");
	list_for_each(tmp, &adapter_queue) {
		a = list_entry(tmp, diva_os_xdi_adapter_t, link);
		if (a->controller == (int)msg.adapter)
		if (a->controller == (int)msg->adapter)
			break;
		a = NULL;
	}
	diva_os_leave_spin_lock(&adapter_lock, &old_irql, "open_adapter");

	if (!a) {
		DBG_ERR(("A: A(%d) open, adapter not found", msg.adapter))
		DBG_ERR(("A: A(%d) open, adapter not found", msg->adapter))
			}

	return (a);
@@ -437,8 +437,10 @@ void diva_xdi_close_adapter(void *adapter, void *os_handle)

int
diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
	       int length, divas_xdi_copy_from_user_fn_t cp_fn)
	       int length, void *mptr,
	       divas_xdi_copy_from_user_fn_t cp_fn)
{
	diva_xdi_um_cfg_cmd_t *msg = (diva_xdi_um_cfg_cmd_t *)mptr;
	diva_os_xdi_adapter_t *a = (diva_os_xdi_adapter_t *) adapter;
	void *data;

@@ -459,7 +461,13 @@ diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
			return (-2);
	}

	if (msg) {
		*(diva_xdi_um_cfg_cmd_t *)data = *msg;
		length = (*cp_fn) (os_handle, (char *)data + sizeof(*msg),
				   src + sizeof(*msg), length - sizeof(*msg));
	} else {
		length = (*cp_fn) (os_handle, data, src, length);
	}
	if (length > 0) {
		if ((*(a->interface.cmd_proc))
		    (a, (diva_xdi_um_cfg_cmd_t *) data, length)) {
+3 −2
Original line number Diff line number Diff line
@@ -20,10 +20,11 @@ int diva_xdi_read(void *adapter, void *os_handle, void __user *dst,
		  int max_length, divas_xdi_copy_to_user_fn_t cp_fn);

int diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
		   int length, divas_xdi_copy_from_user_fn_t cp_fn);
		   int length, void *msg,
		   divas_xdi_copy_from_user_fn_t cp_fn);

void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			    int length,
			    int length, void *msg,
			    divas_xdi_copy_from_user_fn_t cp_fn);

void diva_xdi_close_adapter(void *adapter, void *os_handle);
Loading