Re: [PATCH for 5.10 v2 0/5] vdpa_sim: fix param validation in vdpasim_get_config()
From: Greg KH
Date: Wed Feb 17 2021 - 06:00:02 EST
On Tue, Feb 16, 2021 at 03:24:34PM +0100, Stefano Garzarella wrote:
> v1: https://lore.kernel.org/stable/20210211162519.215418-1-sgarzare@xxxxxxxxxx/
>
> v2:
> - backport the upstream patch and related patches needed
>
> Commit 65b709586e22 ("vdpa_sim: add get_config callback in
> vdpasim_dev_attr") unintentionally solved an issue in vdpasim_get_config()
> upstream while refactoring vdpa_sim.c to support multiple devices.
>
> Before that patch, if 'offset + len' was equal to
> sizeof(struct virtio_net_config), the entire buffer wasn't filled,
> returning incorrect values to the caller.
>
> Since 'vdpasim->config' type is 'struct virtio_net_config', we can
> safely copy its content under this condition.
>
> The minimum set of patches to backport the patch that fixes the issue, is the
> following:
>
> 423248d60d2b vdpa_sim: remove hard-coded virtq count
> 6c6e28fe4579 vdpa_sim: add struct vdpasim_dev_attr for device attributes
> cf1a3b35382c vdpa_sim: store parsed MAC address in a buffer
> f37cbbc65178 vdpa_sim: make 'config' generic and usable for any device type
> 65b709586e22 vdpa_sim: add get_config callback in vdpasim_dev_attr
>
> The patches apply fairly cleanly. There are a few contextual differences
> due to the lack of the other patches:
>
> $ git backport-diff -u master -r linux-5.10.y..HEAD
Cool, where is 'backport-diff' from?
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
>
> 001/5:[----] [--] 'vdpa_sim: remove hard-coded virtq count'
> 002/5:[----] [-C] 'vdpa_sim: add struct vdpasim_dev_attr for device attributes'
> 003/5:[----] [--] 'vdpa_sim: store parsed MAC address in a buffer'
> 004/5:[----] [-C] 'vdpa_sim: make 'config' generic and usable for any device type'
> 005/5:[----] [-C] 'vdpa_sim: add get_config callback in vdpasim_dev_attr'
Now all applied, thanks.
greg k-h