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 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' Thanks, Stefano Max Gurtovoy (1): vdpa_sim: remove hard-coded virtq count Stefano Garzarella (4): vdpa_sim: add struct vdpasim_dev_attr for device attributes vdpa_sim: store parsed MAC address in a buffer vdpa_sim: make 'config' generic and usable for any device type vdpa_sim: add get_config callback in vdpasim_dev_attr drivers/vdpa/vdpa_sim/vdpa_sim.c | 83 +++++++++++++++++++++++--------- 1 file changed, 60 insertions(+), 23 deletions(-) -- 2.29.2