RE: [External] [PATCH v2 2/6] s390, dcssblk: kaddr and pfn can be NULL to ->direct_access()

From: Huaisheng HS1 Ye
Date: Sat Jul 28 2018 - 00:08:03 EST


Dear Maintainers of Linux-s390,

Greetings.

May I have your ack's for this patch? The whole series would be applied
to libnvdimm if it could get your approval.
And any suggestion is welcome.

Cheers,
Huaisheng Ye

> From: Huaisheng Ye <yehs2007@xxxxxxxx>
> Sent: Thursday, July 26, 2018 12:29 AM
>
> From: Huaisheng Ye <yehs1@xxxxxxxxxx>
>
> dcssblk_direct_access() needs to check the validity of pointers kaddr
> and pfn for NULL assignment. If anyone equals to NULL, it doesn't need
> to calculate the value.
>
> If either of them is equal to NULL, that is to say callers may
> have no need for kaddr or pfn, so this patch is prepared for allowing
> them to pass in NULL instead of having to pass in a pointer or local
> variable that they then just throw away.
>
> Signed-off-by: Huaisheng Ye <yehs1@xxxxxxxxxx>
> ---
> drivers/s390/block/dcssblk.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
> index ed60728..23e526c 100644
> --- a/drivers/s390/block/dcssblk.c
> +++ b/drivers/s390/block/dcssblk.c
> @@ -922,9 +922,11 @@ static DEVICE_ATTR(save, S_IWUSR | S_IRUSR, dcssblk_save_show,
> unsigned long dev_sz;
>
> dev_sz = dev_info->end - dev_info->start + 1;
> - *kaddr = (void *) dev_info->start + offset;
> - *pfn = __pfn_to_pfn_t(PFN_DOWN(dev_info->start + offset),
> - PFN_DEV|PFN_SPECIAL);
> + if (kaddr)
> + *kaddr = (void *) dev_info->start + offset;
> + if (pfn)
> + *pfn = __pfn_to_pfn_t(PFN_DOWN(dev_info->start + offset),
> + PFN_DEV|PFN_SPECIAL);
>
> return (dev_sz - offset) / PAGE_SIZE;
> }
> --
> 1.8.3.1