Re: [PATCH v3 0/5] s390/vfio-ap: ap_config sysfs attribute for mdevctl automation

From: Heiko Carstens
Date: Tue Mar 19 2024 - 07:13:02 EST


On Fri, Mar 15, 2024 at 10:48:44AM -0400, Anthony Krowiak wrote:
> Unless someone else chooses to review these, my opinion is that they are
> good to go.

Please don't top-post.

> On 3/13/24 4:58 PM, Jason J. Herne wrote:
> > Mdevctl requires a way to atomically query and atomically update a vfio-ap
> > mdev's current state. This patch set creates the ap_config sysfs attribute.
> > This new attribute allows reading and writing an mdev's entire state in one go.
> > If a newly written state is invalid for any reason the entire state is rejected
> > and the target mdev remains unchanged.
..
> > Jason J. Herne (5):
> > s390/ap: Externalize AP bus specific bitmap reading function
> > s390/vfio-ap: Add sysfs attr, ap_config, to export mdev state
> > s390/vfio-ap: Ignore duplicate link requests in
> > vfio_ap_mdev_link_queue
> > s390/vfio-ap: Add write support to sysfs attr ap_config
> > docs: Update s390 vfio-ap doc for ap_config sysfs attribute
> >
> > Documentation/arch/s390/vfio-ap.rst | 30 ++++
> > drivers/s390/crypto/ap_bus.c | 13 +-
> > drivers/s390/crypto/ap_bus.h | 22 +++
> > drivers/s390/crypto/vfio_ap_ops.c | 220 ++++++++++++++++++++++++--
> > drivers/s390/crypto/vfio_ap_private.h | 6 +-
> > 5 files changed, 262 insertions(+), 29 deletions(-)

With gcc gcc 13.2.0 / binutils 2.40.90.20230730 I get this (defconfig):

CC [M] drivers/s390/crypto/vfio_ap_ops.o
In file included from ./include/linux/cpumask.h:13,
from ./include/linux/smp.h:13,
from ./include/linux/lockdep.h:14,
from ./include/linux/spinlock.h:63,
from ./include/linux/mmzone.h:8,
from ./include/linux/gfp.h:7,
from ./include/linux/mm.h:7,
from ./include/linux/scatterlist.h:8,
from ./include/linux/iommu.h:10,
from ./include/linux/vfio.h:12,
from drivers/s390/crypto/vfio_ap_ops.c:12:
In function ‘bitmap_copy’,
inlined from ‘ap_matrix_copy’ at drivers/s390/crypto/vfio_ap_ops.c:1672:2,
inlined from ‘ap_config_store’ at drivers/s390/crypto/vfio_ap_ops.c:1696:2:
/include/linux/bitmap.h:253:17: warning: ‘memcpy’ reading 32 bytes from a region of size 0 [-Wstringop-overread]
253 | memcpy(dst, src, len);
| ^~~~~~~~~~~~~~~~~~~~~
In function ‘ap_config_store’:
cc1: note: source object is likely at address zero
In function ‘bitmap_copy’,
inlined from ‘ap_matrix_copy’ at drivers/s390/crypto/vfio_ap_ops.c:1673:2,
inlined from ‘ap_config_store’ at drivers/s390/crypto/vfio_ap_ops.c:1696:2:
/include/linux/bitmap.h:253:17: warning: ‘memcpy’ reading 32 bytes from a region of size 0 [-Wstringop-overread]
253 | memcpy(dst, src, len);
| ^~~~~~~~~~~~~~~~~~~~~
In function ‘ap_config_store’:
cc1: note: source object is likely at address zero
In function ‘bitmap_copy’,
inlined from ‘ap_matrix_copy’ at drivers/s390/crypto/vfio_ap_ops.c:1674:2,
inlined from ‘ap_config_store’ at drivers/s390/crypto/vfio_ap_ops.c:1696:2:
/include/linux/bitmap.h:253:17: warning: ‘memcpy’ reading 32 bytes from a region of size 0 [-Wstringop-overread]
253 | memcpy(dst, src, len);
| ^~~~~~~~~~~~~~~~~~~~~
In function ‘ap_config_store’:
cc1: note: source object is likely at address zero