Re: [net-next v9 07/10] net: bnxt: Implement software USO
From: Joe Damato
Date: Tue Apr 07 2026 - 19:23:09 EST
On Tue, Apr 07, 2026 at 03:03:03PM -0700, Joe Damato wrote:
[...]
> v9:
> - Added inline slot check to prevent possible overwriting of in-flight
> headers (suggested by AI).
[...]
> netdev_tx_t bnxt_sw_udp_gso_xmit(struct bnxt *bp,
> struct bnxt_tx_ring_info *txr,
> struct netdev_queue *txq,
> struct sk_buff *skb)
> {
[...]
> +
> + /* BD backpressure alone cannot prevent overwriting in-flight
> + * headers in the inline buffer. Check slot availability directly.
> + */
> + slots = txr->tx_inline_prod - txr->tx_inline_cons;
> + slots = BNXT_SW_USO_MAX_SEGS - slots;
> +
> + if (unlikely(slots < num_segs)) {
> + netif_txq_try_stop(txq, slots, num_segs);
> + return NETDEV_TX_BUSY;
This is the check I added. AI says this is wrong and netdev_queues.h says:
* @get_desc must be a formula or a function call, it must always
* return up-to-date information when evaluated!
which I obviously failed to do, so I'm pretty sure I got this wrong.