From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA7BF1E32CF for ; Sat, 25 Apr 2026 00:25:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777076703; cv=none; b=RYftBNRZZcxQ6oPxL8i7KOZc2m1ImRf3QYp76i6RPSsEQ0VLNmJ53LuvWQN7kGR/6nZJS/WyYH8hOgjFUs/Xy5Cc4hJhPrMYjv7rGLE8GnROSwG3WrRQlYrxNdvXeY2U06N3HhRXoc+0vw2B3yNRG4DtCJ0Uk/61x6Q4SDzfXkc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777076703; c=relaxed/simple; bh=LEicXDAPI28EFLbCEUUUbtCAmhQDAo7ran0ciTNYXjg=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=kP5m9O293vxmf/cwAeQAshRTxkuzslrx+nJvzE55AslMRpd6FVyFsy3bjmYmZiho/eF31MFCMhkpO0B3DWwZDmL6NcNruFbPHz5JCiuVZfDsIXa82/cPOWBvdkZHW+8QutsoZRIc7dgqeIK7sQ8QCt4gU/VA0NUJUS2wpXZDtSk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--hramamurthy.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=qoPBrxK+; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--hramamurthy.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="qoPBrxK+" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-35fbb5779e8so9227417a91.3 for ; Fri, 24 Apr 2026 17:25:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1777076700; x=1777681500; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=ZylLCoEiHYdV/ejnG8Go+DBKtjN8GWujCPj9sYIWSRA=; b=qoPBrxK+27GIQ2x5vdGbcybG3Gwi/Z93eA5xe2e7aIvgX97pyZ8pVK0dMba70f/5LS jX3qkXZPqo1P76Ub8mxiKgxheLLhRt7e0DrjyhkdFKy8aCFNwqW/gKgryRXRhJ1FUIvB AwV4R/36JVxdOFc3ysHjZhS/ylm0OYL4VSKf86NiNtgmDm5G5lxrQ/KV9n+19ZchqNLe k/akoPy/qdXXvAUUyFdS8pLjPXJENjufbu0OYsE+JRCJZIgzGwSZEqgwShYAL+oxioTo OHfbGZ25dV3pTE/eSBwkC7iSXlZqbVFqY5uYF+/rxo4Qmr000JNqDlp9uxmqRTCS9ivc 5kqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777076700; x=1777681500; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZylLCoEiHYdV/ejnG8Go+DBKtjN8GWujCPj9sYIWSRA=; b=IYO+9rUreCKX4+Bl4RnkbRol6/AI2X/TxGCY+jsqFIb47sILUMtMcgaMzoIBARAPSt OPd2SkQ2z3rHXxkP2itF9u3lGWfhydOjBtJGkk/2kskprp9hVwa2FfIWEq0jOQpYzXuP M+sMuots1oOAF2JpEHiqdcDXUd8KvsQYsbuOW2DOdokRIUBTnEh8kugvp6RfwcAim8Wx euUmJ6Yy4xA2FdbRuB3kEEFPHIOxC3b4kR3pEA3jY/eKTlibRxtKdamn/wXXOBngJYQQ PltkEUIOz69y1LRnjwAc4/K9nQ0yzGJVtzK549jVrQ2xiOdiFyYAnGROSyH+pSDFTcg6 aMgA== X-Forwarded-Encrypted: i=1; AFNElJ/u6HI1pcjn6JEW0jtb5QznctQjz4yQpnC4UPul+AamyRsOvZGUW198zHoTMCKAkrcVyvIRzTfThW4HVv0=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3hcBctNOnT5QwUV2CnHfdABK+gIAxTSd66pRWDXRHjm6GZF9y 3m2sHQVZQFUNpwBa1tBSiPSzud5qgwziuODVu/syM1H/j2PXgSLRYvvjxP6E2Huu9TGNGgjWqx6 cdZQRcbnOHNWfLZ2y0734bh73EQ== X-Received: from pjbfr11.prod.google.com ([2002:a17:90a:e2cb:b0:35d:a03b:ab5e]) (user=hramamurthy job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2e46:b0:359:8dfd:64c8 with SMTP id 98e67ed59e1d1-361404a81e0mr33622651a91.24.1777076700095; Fri, 24 Apr 2026 17:25:00 -0700 (PDT) Date: Sat, 25 Apr 2026 00:24:49 +0000 In-Reply-To: <20260425002450.163421-1-hramamurthy@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260425002450.163421-1-hramamurthy@google.com> X-Mailer: git-send-email 2.54.0.545.g6539524ca2-goog Message-ID: <20260425002450.163421-4-hramamurthy@google.com> Subject: [PATCH net v2 3/4] gve: Use default min ring size when device option values are 0 From: Harshitha Ramamurthy To: netdev@vger.kernel.org Cc: joshwash@google.com, hramamurthy@google.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, willemb@google.com, maolson@google.com, nktgrg@google.com, jfraker@google.com, ziweixiao@google.com, jacob.e.keller@intel.com, pkaligineedi@google.com, shailend@google.com, jordanrhee@google.com, stable@vger.kernel.org, linux-kernel@vger.kernel.org, Pin-yen Lin Content-Type: text/plain; charset="UTF-8" From: Pin-yen Lin On gvnic devices that support reporting minimum ring sizes, the device option always includes the min_(rx|tx)_ring_size fields, and the values will be 0 if they are not configured to be exposed. This makes the driver allow unexpected small ring size configurations from the userspace. Use the default ring size in the driver if the min ring sizes from the device option are 0. This was discovered by drivers/net/ring_reconfig.py selftest. Cc: stable@vger.kernel.org Fixes: ed4fb326947d ("gve: add support to read ring size ranges from the device") Reviewed-by: Joshua Washington Reviewed-by: Jordan Rhee Signed-off-by: Pin-yen Lin Signed-off-by: Harshitha Ramamurthy --- drivers/net/ethernet/google/gve/gve_adminq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/ethernet/google/gve/gve_adminq.c index 08587bf40ed4..2cd0dd6ced94 100644 --- a/drivers/net/ethernet/google/gve/gve_adminq.c +++ b/drivers/net/ethernet/google/gve/gve_adminq.c @@ -189,7 +189,9 @@ void gve_parse_device_option(struct gve_priv *priv, *dev_op_modify_ring = (void *)(option + 1); /* device has not provided min ring size */ - if (option_length == GVE_DEVICE_OPTION_NO_MIN_RING_SIZE) + if (option_length == GVE_DEVICE_OPTION_NO_MIN_RING_SIZE || + be16_to_cpu((*dev_op_modify_ring)->min_rx_ring_size) == 0 || + be16_to_cpu((*dev_op_modify_ring)->min_tx_ring_size) == 0) priv->default_min_ring_size = true; break; case GVE_DEV_OPT_ID_FLOW_STEERING: -- 2.54.0.545.g6539524ca2-goog