lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 10 Aug 2017 17:45:49 -0700
From:   Dmitry Torokhov <dmitry.torokhov@...il.com>
To:     Pan Bian <bianpan2016@....com>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Guenter Roeck <groeck@...omium.org>,
        Wei Yongjun <weiyongjun1@...wei.com>,
        Thierry Escande <thierry.escande@...labora.com>,
        Christophe JAILLET <christophe.jaillet@...adoo.fr>,
        Wei-Ning Huang <wnhuang@...gle.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [V3] firmware: vpd: use memunmap instead of iounmap

On Fri, Aug 11, 2017 at 07:13:13AM +0800, Pan Bian wrote:
> In functions vpd_sections_init() and vpd_section_init(), iounmap() is
> used to unmap memory. However, in these cases, memunmap() should be
> used.
> 
> Signed-off-by: Pan Bian <bianpan2016@....com>

Reviewed-by: Dmitry Torokhov <dmitry.torokhov@...il.com>

> ---
> V2: change error label err_iounmap to err_memunmap
> V3: add changes from V1 to V2
> ---
>  drivers/firmware/google/vpd.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/firmware/google/vpd.c b/drivers/firmware/google/vpd.c
> index 7894572..35e553b 100644
> --- a/drivers/firmware/google/vpd.c
> +++ b/drivers/firmware/google/vpd.c
> @@ -202,7 +202,7 @@ static int vpd_section_init(const char *name, struct vpd_section *sec,
>  	sec->raw_name = kasprintf(GFP_KERNEL, "%s_raw", name);
>  	if (!sec->raw_name) {
>  		err = -ENOMEM;
> -		goto err_iounmap;
> +		goto err_memunmap;
>  	}
>  
>  	sysfs_bin_attr_init(&sec->bin_attr);
> @@ -233,8 +233,8 @@ static int vpd_section_init(const char *name, struct vpd_section *sec,
>  	sysfs_remove_bin_file(vpd_kobj, &sec->bin_attr);
>  err_free_raw_name:
>  	kfree(sec->raw_name);
> -err_iounmap:
> -	iounmap(sec->baseaddr);
> +err_memunmap:
> +	memunmap(sec->baseaddr);
>  	return err;
>  }
>  
> @@ -245,7 +245,7 @@ static int vpd_section_destroy(struct vpd_section *sec)
>  		kobject_put(sec->kobj);
>  		sysfs_remove_bin_file(vpd_kobj, &sec->bin_attr);
>  		kfree(sec->raw_name);
> -		iounmap(sec->baseaddr);
> +		memunmap(sec->baseaddr);
>  	}
>  
>  	return 0;
> @@ -262,7 +262,7 @@ static int vpd_sections_init(phys_addr_t physaddr)
>  		return -ENOMEM;
>  
>  	memcpy_fromio(&header, temp, sizeof(struct vpd_cbmem));
> -	iounmap(temp);
> +	memunmap(temp);
>  
>  	if (header.magic != VPD_CBMEM_MAGIC)
>  		return -ENODEV;
> -- 
> 1.9.1
> 
> 

-- 
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ