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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1405271834430.2055@localhost.localdomain>
Date:	Tue, 27 May 2014 18:34:52 +0200 (CEST)
From:	Lukáš Czerner <lczerner@...hat.com>
To:	Andreas Dilger <adilger@...ger.ca>
cc:	tytso@....edu, linux-ext4@...r.kernel.org
Subject: Re: [PATCH] misc: fix create_inode warnings with LLVM

On Tue, 20 May 2014, Andreas Dilger wrote:

> Date: Tue, 20 May 2014 17:12:22 -0600
> From: Andreas Dilger <adilger@...ger.ca>
> To: tytso@....edu
> Cc: linux-ext4@...r.kernel.org, Andreas Dilger <adilger@...ger.ca>
> Subject: [PATCH] misc: fix create_inode warnings with LLVM
> 
> Fix name clash in do_mknod_internal() due to local variables named
> "major" and "minor" shadowing identical macro names.
> 
> Also, no need to set the major and minor device for a FIFO inode.
> 
> Signed-off-by: Andreas Dilger <adilger@...ger.ca>

Looks good, thanks!

Reviewed-by: Lukas Czerner <lczerner@...hat.com>


> ---
>  misc/create_inode.c | 26 ++++++++++++++------------
>  1 file changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/misc/create_inode.c b/misc/create_inode.c
> index 964c66a..1d666c7 100644
> --- a/misc/create_inode.c
> +++ b/misc/create_inode.c
> @@ -96,9 +96,9 @@ errcode_t do_mknod_internal(ext2_filsys fs, ext2_ino_t cwd, const char *name,
>  			    struct stat *st)
>  {
>  	ext2_ino_t		ino;
> -	errcode_t 		retval;
> +	errcode_t		retval;
>  	struct ext2_inode	inode;
> -	unsigned long		major, minor, mode;
> +	unsigned long		devmajor, devminor, mode;
>  	int			filetype;
>  
>  	switch(st->st_mode & S_IFMT) {
> @@ -153,16 +153,18 @@ errcode_t do_mknod_internal(ext2_filsys fs, ext2_ino_t cwd, const char *name,
>  	inode.i_atime = inode.i_ctime = inode.i_mtime =
>  		fs->now ? fs->now : time(0);
>  
> -	major = major(st->st_rdev);
> -	minor = minor(st->st_rdev);
> -
> -	if ((major < 256) && (minor < 256)) {
> -		inode.i_block[0] = major * 256 + minor;
> -		inode.i_block[1] = 0;
> -	} else {
> -		inode.i_block[0] = 0;
> -		inode.i_block[1] = (minor & 0xff) | (major << 8) |
> -				   ((minor & ~0xff) << 12);
> +	if (filetype != S_IFIFO) {
> +		devmajor = major(st->st_rdev);
> +		devminor = minor(st->st_rdev);
> +
> +		if ((devmajor < 256) && (devminor < 256)) {
> +			inode.i_block[0] = devmajor * 256 + devminor;
> +			inode.i_block[1] = 0;
> +		} else {
> +			inode.i_block[0] = 0;
> +			inode.i_block[1] = (devminor & 0xff) | (devmajor << 8) |
> +					   ((devminor & ~0xff) << 12);
> +		}
>  	}
>  	inode.i_links_count = 1;
>  
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ