From: Joe Damato <jdamato@fastly.com>
To: Philo Lu <lulie@linux.alibaba.com>
Cc: netdev@vger.kernel.org, mst@redhat.com, jasowang@redhat.com,
xuanzhuo@linux.alibaba.com, eperezma@redhat.com,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, andrew@daynix.com,
virtualization@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net 2/4] virtio_net: Add hash_key_length check
Date: Tue, 5 Nov 2024 12:28:29 -0800 [thread overview]
Message-ID: <Zyp_7ea-1F9VPEBL@LQ3V64L9R2> (raw)
In-Reply-To: <20241104085706.13872-3-lulie@linux.alibaba.com>
On Mon, Nov 04, 2024 at 04:57:04PM +0800, Philo Lu wrote:
> Add hash_key_length check in virtnet_probe() to avoid possible out of
> bound errors when setting/reading the hash key.
>
> Fixes: c7114b1249fa ("drivers/net/virtio_net: Added basic RSS support.")
> Signed-off-by: Philo Lu <lulie@linux.alibaba.com>
> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> ---
> drivers/net/virtio_net.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 75c1ff4efd13..acc3e5dc112e 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -6451,6 +6451,12 @@ static int virtnet_probe(struct virtio_device *vdev)
> if (vi->has_rss || vi->has_rss_hash_report) {
> vi->rss_key_size =
> virtio_cread8(vdev, offsetof(struct virtio_net_config, rss_max_key_size));
> + if (vi->rss_key_size > VIRTIO_NET_RSS_MAX_KEY_SIZE) {
> + dev_err(&vdev->dev, "rss_max_key_size=%u exceeds the limit %u.\n",
> + vi->rss_key_size, VIRTIO_NET_RSS_MAX_KEY_SIZE);
> + err = -EINVAL;
> + goto free;
> + }
I agree that an out of bounds error could occur and a check here
is needed.
I have no idea if returning -EINVAL from probe is the correct
solution (vs say using min()) as I am just a casual observer of
virtio_net and not a maintainer.
Acked-by: Joe Damato <jdamato@fastly.com>
next prev parent reply other threads:[~2024-11-05 20:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-04 8:57 [PATCH net 0/4] virtio_net: Make RSS interact properly with queue number Philo Lu
2024-11-04 8:57 ` [PATCH net 1/4] virtio_net: Support dynamic rss indirection table size Philo Lu
2024-11-05 20:27 ` Joe Damato
2024-11-04 8:57 ` [PATCH net 2/4] virtio_net: Add hash_key_length check Philo Lu
2024-11-05 20:28 ` Joe Damato [this message]
2024-11-04 8:57 ` [PATCH net 3/4] virtio_net: Sync rss config to device when virtnet_probe Philo Lu
2024-11-05 20:29 ` Joe Damato
2024-11-04 8:57 ` [PATCH net 4/4] virtio_net: Update rss when set queue Philo Lu
2024-11-05 20:31 ` Joe Damato
2024-11-06 1:28 ` Philo Lu
2024-11-07 11:39 ` Paolo Abeni
2024-11-06 8:58 ` [PATCH net 0/4] virtio_net: Make RSS interact properly with queue number Xuan Zhuo
2024-11-11 1:30 ` Jason Wang
2024-11-06 9:31 ` Michael S. Tsirkin
2024-11-07 11:50 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zyp_7ea-1F9VPEBL@LQ3V64L9R2 \
--to=jdamato@fastly.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@daynix.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eperezma@redhat.com \
--cc=jasowang@redhat.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lulie@linux.alibaba.com \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.