Re: [PATCH -next] PCI: endpoint: use kmemdup_nul() in pci_epf_create()

From: Bjorn Helgaas
Date: Fri May 08 2020 - 12:23:49 EST


On Fri, May 08, 2020 at 08:10:29PM +0800, Chen Zhou wrote:
> It is more efficient to use kmemdup_nul() if the size is known exactly.
>
> The doc in kernel:
> "Note: Use kmemdup_nul() instead if the size is known exactly."

If you want to do this, I want to do at least the entire drivers/pci
directory at once so we don't have a bunch of onesy-twosy patches. It
looks like there's at least one more potential change in
pci_dev_str_match_path().

Also, please mention that the doc is from the kstrndup() function
comment.

> Signed-off-by: Chen Zhou <chenzhou10@xxxxxxxxxx>
> ---
> drivers/pci/endpoint/pci-epf-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
> index 244e00f48c5c..f035d2ebcae5 100644
> --- a/drivers/pci/endpoint/pci-epf-core.c
> +++ b/drivers/pci/endpoint/pci-epf-core.c
> @@ -252,7 +252,7 @@ struct pci_epf *pci_epf_create(const char *name)
> return ERR_PTR(-ENOMEM);
>
> len = strchrnul(name, '.') - name;
> - epf->name = kstrndup(name, len, GFP_KERNEL);
> + epf->name = kmemdup_nul(name, len, GFP_KERNEL);
> if (!epf->name) {
> kfree(epf);
> return ERR_PTR(-ENOMEM);
> --
> 2.20.1
>