Commit d9fc1511 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from Paolo Abeni:
 "Including fixes from rxrpc.

  The rxrpc changes are noticeable large: to address a recent regression
  has been necessary completing the threaded refactor.

  Current release - regressions:

   - rxrpc:
       - only disconnect calls in the I/O thread
       - move client call connection to the I/O thread
       - fix incoming call setup race

   - eth: mlx5:
       - restore pkt rate policing support
       - fix memory leak on updating vport counters

  Previous releases - regressions:

   - gro: take care of DODGY packets

   - ipv6: deduct extension header length in rawv6_push_pending_frames

   - tipc: fix unexpected link reset due to discovery messages

  Previous releases - always broken:

   - sched: disallow noqueue for qdisc classes

   - eth: ice: fix potential memory leak in ice_gnss_tty_write()

   - eth: ixgbe: fix pci device refcount leak

   - eth: mlx5:
       - fix command stats access after free
       - fix macsec possible null dereference when updating MAC security
         entity (SecY)"

* tag 'net-6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (64 commits)
  r8152: add vendor/device ID pair for Microsoft Devkit
  net: stmmac: add aux timestamps fifo clearance wait
  bnxt: make sure we return pages to the pool
  net: hns3: fix wrong use of rss size during VF rss config
  ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
  net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()
  net: sched: disallow noqueue for qdisc classes
  iavf/iavf_main: actually log ->src mask when talking about it
  igc: Fix PPS delta between two synchronized end-points
  ixgbe: fix pci device refcount leak
  octeontx2-pf: Fix resource leakage in VF driver unbind
  selftests/net: l2_tos_ttl_inherit.sh: Ensure environment cleanup on failure.
  selftests/net: l2_tos_ttl_inherit.sh: Run tests in their own netns.
  selftests/net: l2_tos_ttl_inherit.sh: Set IPv6 addresses with "nodad".
  net/mlx5e: Fix macsec possible null dereference when updating MAC security entity (SecY)
  net/mlx5e: Fix macsec ssci attribute handling in offload path
  net/mlx5: E-switch, Coverity: overlapping copy
  net/mlx5e: Don't support encap rules with gbp option
  net/mlx5: Fix ptp max frequency adjustment range
  net/mlx5e: Fix memory leak on updating vport counters
  ...
parents 5be413a6 be53771c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -880,8 +880,8 @@ The kernel interface functions are as follows:

     notify_end_rx can be NULL or it can be used to specify a function to be
     called when the call changes state to end the Tx phase.  This function is
     called with the call-state spinlock held to prevent any reply or final ACK
     from being delivered first.
     called with a spinlock held to prevent the last DATA packet from being
     transmitted until the function returns.

 (#) Receive data from a call::

+2 −2
Original line number Diff line number Diff line
@@ -993,7 +993,7 @@ static struct sk_buff *bnxt_rx_multi_page_skb(struct bnxt *bp,
			     DMA_ATTR_WEAK_ORDERING);
	skb = build_skb(page_address(page), PAGE_SIZE);
	if (!skb) {
		__free_page(page);
		page_pool_recycle_direct(rxr->page_pool, page);
		return NULL;
	}
	skb_mark_for_recycle(skb);
@@ -1031,7 +1031,7 @@ static struct sk_buff *bnxt_rx_page_skb(struct bnxt *bp,

	skb = napi_alloc_skb(&rxr->bnapi->napi, payload);
	if (!skb) {
		__free_page(page);
		page_pool_recycle_direct(rxr->page_pool, page);
		return NULL;
	}

+1 −1
Original line number Diff line number Diff line
@@ -3130,7 +3130,7 @@ static int hclgevf_set_channels(struct hnae3_handle *handle, u32 new_tqps_num,

	hclgevf_update_rss_size(handle, new_tqps_num);

	hclge_comm_get_rss_tc_info(cur_rss_size, hdev->hw_tc_map,
	hclge_comm_get_rss_tc_info(kinfo->rss_size, hdev->hw_tc_map,
				   tc_offset, tc_valid, tc_size);
	ret = hclge_comm_set_rss_tc_mode(&hdev->hw.hw, tc_offset,
					 tc_valid, tc_size);
+1 −1
Original line number Diff line number Diff line
@@ -3850,7 +3850,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
				field_flags |= IAVF_CLOUD_FIELD_IIP;
			} else {
				dev_err(&adapter->pdev->dev, "Bad ip src mask 0x%08x\n",
					be32_to_cpu(match.mask->dst));
					be32_to_cpu(match.mask->src));
				return -EINVAL;
			}
		}
+15 −9
Original line number Diff line number Diff line
@@ -363,6 +363,7 @@ ice_gnss_tty_write(struct tty_struct *tty, const unsigned char *buf, int count)
	/* Send the data out to a hardware port */
	write_buf = kzalloc(sizeof(*write_buf), GFP_KERNEL);
	if (!write_buf) {
		kfree(cmd_buf);
		err = -ENOMEM;
		goto exit;
	}
@@ -460,6 +461,9 @@ static struct tty_driver *ice_gnss_create_tty_driver(struct ice_pf *pf)
	for (i = 0; i < ICE_GNSS_TTY_MINOR_DEVICES; i++) {
		pf->gnss_tty_port[i] = kzalloc(sizeof(*pf->gnss_tty_port[i]),
					       GFP_KERNEL);
		if (!pf->gnss_tty_port[i])
			goto err_out;

		pf->gnss_serial[i] = NULL;

		tty_port_init(pf->gnss_tty_port[i]);
@@ -469,8 +473,16 @@ static struct tty_driver *ice_gnss_create_tty_driver(struct ice_pf *pf)
	err = tty_register_driver(tty_driver);
	if (err) {
		dev_err(dev, "Failed to register TTY driver err=%d\n", err);
		goto err_out;
	}

		for (i = 0; i < ICE_GNSS_TTY_MINOR_DEVICES; i++) {
	for (i = 0; i < ICE_GNSS_TTY_MINOR_DEVICES; i++)
		dev_info(dev, "%s%d registered\n", ttydrv_name, i);

	return tty_driver;

err_out:
	while (i--) {
		tty_port_destroy(pf->gnss_tty_port[i]);
		kfree(pf->gnss_tty_port[i]);
	}
@@ -480,12 +492,6 @@ static struct tty_driver *ice_gnss_create_tty_driver(struct ice_pf *pf)
	return NULL;
}

	for (i = 0; i < ICE_GNSS_TTY_MINOR_DEVICES; i++)
		dev_info(dev, "%s%d registered\n", ttydrv_name, i);

	return tty_driver;
}

/**
 * ice_gnss_init - Initialize GNSS TTY support
 * @pf: Board private structure
Loading