From: Mika Kukkonen Following was uncovered by compiling the kernel with '-W' flag: CC [M] fs/ecryptfs/inode.o fs/ecryptfs/inode.c: In function ‘ecryptfs_lookup’: fs/ecryptfs/inode.c:304: warning: comparison of unsigned expression < 0 is always false fs/ecryptfs/inode.c: In function ‘ecryptfs_symlink’: fs/ecryptfs/inode.c:486: warning: comparison of unsigned expression < 0 is always false Function ecryptfs_encode_filename() can return -ENOMEM, so change the variables to plain int, as in the first case the only real use actually expects int, and in latter case there is no use beoynd the error check. Signed-off-by: Mika Kukkonen Cc: Michael Halcrow Signed-off-by: Andrew Morton --- fs/ecryptfs/inode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN fs/ecryptfs/inode.c~couple-fixes-to-fs-ecryptfs-inodec fs/ecryptfs/inode.c --- a/fs/ecryptfs/inode.c~couple-fixes-to-fs-ecryptfs-inodec +++ a/fs/ecryptfs/inode.c @@ -284,7 +284,7 @@ static struct dentry *ecryptfs_lookup(st struct vfsmount *lower_mnt; struct vfsmount *mnt_save; char *encoded_name; - unsigned int encoded_namelen; + int encoded_namelen; struct ecryptfs_crypt_stat *crypt_stat = NULL; struct ecryptfs_mount_crypt_stat *mount_crypt_stat; char *page_virt = NULL; @@ -479,7 +479,7 @@ static int ecryptfs_symlink(struct inode struct dentry *lower_dir_dentry; umode_t mode; char *encoded_symname; - unsigned int encoded_symlen; + int encoded_symlen; struct ecryptfs_crypt_stat *crypt_stat = NULL; lower_dentry = ecryptfs_dentry_to_lower(dentry); _