vdpa_sim_blk: allocate the buffer zeroed

Message ID 20231031144339.121453-1-sgarzare@redhat.com
State New
Headers
Series vdpa_sim_blk: allocate the buffer zeroed |

Commit Message

Stefano Garzarella Oct. 31, 2023, 2:43 p.m. UTC
  Deleting and recreating a device can lead to having the same
content as the old device, so let's always allocate buffers
completely zeroed out.

Fixes: abebb16254b3 ("vdpa_sim_blk: support shared backend")
Suggested-by: Qing Wang <qinwang@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Eugenio Perez Martin Oct. 31, 2023, 5:51 p.m. UTC | #1
On Tue, Oct 31, 2023 at 3:44 PM Stefano Garzarella <sgarzare@redhat.com> wrote:
>
> Deleting and recreating a device can lead to having the same
> content as the old device, so let's always allocate buffers
> completely zeroed out.
>
> Fixes: abebb16254b3 ("vdpa_sim_blk: support shared backend")
> Suggested-by: Qing Wang <qinwang@redhat.com>

Acked-by: Eugenio Pérez <eperezma@redhat.com>

> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
>  drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> index b3a3cb165795..b137f3679343 100644
> --- a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> +++ b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> @@ -437,7 +437,7 @@ static int vdpasim_blk_dev_add(struct vdpa_mgmt_dev *mdev, const char *name,
>         if (blk->shared_backend) {
>                 blk->buffer = shared_buffer;
>         } else {
> -               blk->buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> +               blk->buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
>                                        GFP_KERNEL);
>                 if (!blk->buffer) {
>                         ret = -ENOMEM;
> @@ -495,7 +495,7 @@ static int __init vdpasim_blk_init(void)
>                 goto parent_err;
>
>         if (shared_backend) {
> -               shared_buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> +               shared_buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
>                                          GFP_KERNEL);
>                 if (!shared_buffer) {
>                         ret = -ENOMEM;
> --
> 2.41.0
>
  
Jason Wang Nov. 1, 2023, 12:35 a.m. UTC | #2
On Wed, Nov 1, 2023 at 1:52 AM Eugenio Perez Martin <eperezma@redhat.com> wrote:
>
> On Tue, Oct 31, 2023 at 3:44 PM Stefano Garzarella <sgarzare@redhat.com> wrote:
> >
> > Deleting and recreating a device can lead to having the same
> > content as the old device, so let's always allocate buffers
> > completely zeroed out.
> >
> > Fixes: abebb16254b3 ("vdpa_sim_blk: support shared backend")
> > Suggested-by: Qing Wang <qinwang@redhat.com>
>
> Acked-by: Eugenio Pérez <eperezma@redhat.com>

Acked-by: Jason Wang <jasowang@redhat.com>

Thanks

>
> > Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> > ---
> >  drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> > index b3a3cb165795..b137f3679343 100644
> > --- a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> > +++ b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
> > @@ -437,7 +437,7 @@ static int vdpasim_blk_dev_add(struct vdpa_mgmt_dev *mdev, const char *name,
> >         if (blk->shared_backend) {
> >                 blk->buffer = shared_buffer;
> >         } else {
> > -               blk->buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> > +               blk->buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> >                                        GFP_KERNEL);
> >                 if (!blk->buffer) {
> >                         ret = -ENOMEM;
> > @@ -495,7 +495,7 @@ static int __init vdpasim_blk_init(void)
> >                 goto parent_err;
> >
> >         if (shared_backend) {
> > -               shared_buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> > +               shared_buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
> >                                          GFP_KERNEL);
> >                 if (!shared_buffer) {
> >                         ret = -ENOMEM;
> > --
> > 2.41.0
> >
>
  

Patch

diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
index b3a3cb165795..b137f3679343 100644
--- a/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
+++ b/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
@@ -437,7 +437,7 @@  static int vdpasim_blk_dev_add(struct vdpa_mgmt_dev *mdev, const char *name,
 	if (blk->shared_backend) {
 		blk->buffer = shared_buffer;
 	} else {
-		blk->buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
+		blk->buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
 				       GFP_KERNEL);
 		if (!blk->buffer) {
 			ret = -ENOMEM;
@@ -495,7 +495,7 @@  static int __init vdpasim_blk_init(void)
 		goto parent_err;
 
 	if (shared_backend) {
-		shared_buffer = kvmalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
+		shared_buffer = kvzalloc(VDPASIM_BLK_CAPACITY << SECTOR_SHIFT,
 					 GFP_KERNEL);
 		if (!shared_buffer) {
 			ret = -ENOMEM;