All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyrill Gorcunov <gorcunov@openvz.org>
To: kernel-janitors@vger.kernel.org
Subject: Re: [vfs:master 30/32] fs/proc/fd.c:87:55: sparse: incorrect type in initializer (different base typ
Date: Sun, 26 Aug 2012 20:40:49 +0000	[thread overview]
Message-ID: <20120826204049.GE7428@moon> (raw)
In-Reply-To: <20120826191257.GC9107@localhost>

On Sun, Aug 26, 2012 at 09:20:49PM +0100, Al Viro wrote:
> On Sun, Aug 26, 2012 at 11:52:36PM +0400, Cyrill Gorcunov wrote:
> > -				unsigned f_mode = file->f_mode;
> > +				unsigned int f_mode = file->f_mode;
> 
> This changes nothing; unsigned and unsigned int are exactly the same.
> fmode_t isn't, from sparse POV, and that's what you want to use here.

True. I get messed with this warning. Please see updated below.
---
From: Cyrill Gorcunov <gorcunov@openvz.org>
Subject: fs, proc: Fix sparse warning in tid_fd_revalidate

The following warnings have been caught

 | + fs/proc/fd.c:87:55: sparse: incorrect type in initializer (different base types)
 |   fs/proc/fd.c:87:55:    expected unsigned int [unsigned] f_mode
 |   fs/proc/fd.c:87:55:    got restricted fmode_t [usertype] f_mode
 | + fs/proc/fd.c:105:54: sparse: restricted fmode_t degrades to integer
 |   fs/proc/fd.c:107:54: sparse: restricted fmode_t degrades to integer

make f_mode and i_mode declared with proper types.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
CC: Al Viro <viro@ZenIV.linux.org.uk>
---
 fs/proc/fd.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.git/fs/proc/fd.c
=================================--- linux-2.6.git.orig/fs/proc/fd.c
+++ linux-2.6.git/fs/proc/fd.c
@@ -84,7 +84,7 @@ static int tid_fd_revalidate(struct dent
 			rcu_read_lock();
 			file = fcheck_files(files, fd);
 			if (file) {
-				unsigned f_mode = file->f_mode;
+				fmode_t f_mode = file->f_mode;
 
 				rcu_read_unlock();
 				put_files_struct(files);
@@ -101,7 +101,7 @@ static int tid_fd_revalidate(struct dent
 				}
 
 				if (S_ISLNK(inode->i_mode)) {
-					unsigned i_mode = S_IFLNK;
+					umode_t i_mode = S_IFLNK;
 					if (f_mode & FMODE_READ)
 						i_mode |= S_IRUSR | S_IXUSR;
 					if (f_mode & FMODE_WRITE)

      parent reply	other threads:[~2012-08-26 20:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-26 19:12 [vfs:master 30/32] fs/proc/fd.c:87:55: sparse: incorrect type in initializer (different base types) Fengguang Wu
2012-08-26 19:26 ` [vfs:master 30/32] fs/proc/fd.c:87:55: sparse: incorrect type in initializer (different base typ Cyrill Gorcunov
2012-08-26 19:52 ` Cyrill Gorcunov
2012-08-26 20:20 ` Al Viro
2012-08-26 20:40 ` Cyrill Gorcunov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120826204049.GE7428@moon \
    --to=gorcunov@openvz.org \
    --cc=kernel-janitors@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.