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-next>] [day] [month] [year] [list]
Message-Id: <1400627542-75060-1-git-send-email-adilger@dilger.ca>
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>
---
 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;
 
-- 
1.9.3

--
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