From: Mika Kukkonen CHECK fs/udf/dir.c fs/udf/dir.c:240:13: warning: expected lvalue for member dereference [...] CHECK fs/udf/namei.c fs/udf/namei.c:872:6: warning: expected lvalue for member dereference fs/udf/namei.c:916:6: warning: expected lvalue for member dereference fs/udf/namei.c:1189:14: warning: expected lvalue for member dereference fs/udf/namei.c:1234:7: warning: expected lvalue for member dereference Signed-off-by: Andrew Morton --- 25-akpm/fs/udf/dir.c | 4 +++- 25-akpm/fs/udf/namei.c | 28 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff -puN fs/udf/dir.c~fix-sparse-warnings-in-fs-udf fs/udf/dir.c --- 25/fs/udf/dir.c~fix-sparse-warnings-in-fs-udf Fri Jul 2 16:18:13 2004 +++ 25-akpm/fs/udf/dir.c Fri Jul 2 16:18:13 2004 @@ -237,7 +237,9 @@ do_udf_readdir(struct inode * dir, struc } else { - iblock = udf_get_lb_pblock(dir->i_sb, lelb_to_cpu(cfi.icb.extLocation), 0); + lb_addr tloc = lelb_to_cpu(cfi.icb.extLocation); + + iblock = udf_get_lb_pblock(dir->i_sb, tloc, 0); flen = udf_get_filename(dir->i_sb, nameptr, fname, lfi); dt_type = DT_UNKNOWN; } diff -puN fs/udf/namei.c~fix-sparse-warnings-in-fs-udf fs/udf/namei.c --- 25/fs/udf/namei.c~fix-sparse-warnings-in-fs-udf Fri Jul 2 16:18:13 2004 +++ 25-akpm/fs/udf/namei.c Fri Jul 2 16:18:13 2004 @@ -861,6 +861,7 @@ static int udf_rmdir(struct inode * dir, struct inode * inode = dentry->d_inode; struct udf_fileident_bh fibh; struct fileIdentDesc *fi, cfi; + lb_addr tloc; retval = -ENOENT; lock_kernel(); @@ -869,7 +870,8 @@ static int udf_rmdir(struct inode * dir, goto out; retval = -EIO; - if (udf_get_lb_pblock(dir->i_sb, lelb_to_cpu(cfi.icb.extLocation), 0) != inode->i_ino) + tloc = lelb_to_cpu(cfi.icb.extLocation); + if (udf_get_lb_pblock(dir->i_sb, tloc, 0) != inode->i_ino) goto end_rmdir; retval = -ENOTEMPTY; if (!empty_dir(inode)) @@ -904,6 +906,7 @@ static int udf_unlink(struct inode * dir struct udf_fileident_bh fibh; struct fileIdentDesc *fi; struct fileIdentDesc cfi; + lb_addr tloc; retval = -ENOENT; lock_kernel(); @@ -912,12 +915,9 @@ static int udf_unlink(struct inode * dir goto out; retval = -EIO; - - if (udf_get_lb_pblock(dir->i_sb, lelb_to_cpu(cfi.icb.extLocation), 0) != - inode->i_ino) - { + tloc = lelb_to_cpu(cfi.icb.extLocation); + if (udf_get_lb_pblock(dir->i_sb, tloc, 0) != inode->i_ino) goto end_unlink; - } if (!inode->i_nlink) { @@ -1178,6 +1178,7 @@ static int udf_rename (struct inode * ol struct fileIdentDesc *ofi = NULL, *nfi = NULL, *dir_fi = NULL, ocfi, ncfi; struct buffer_head *dir_bh = NULL; int retval = -ENOENT; + lb_addr tloc; lock_kernel(); if ((ofi = udf_find_entry(old_dir, old_dentry, &ofibh, &ocfi))) @@ -1186,11 +1187,10 @@ static int udf_rename (struct inode * ol udf_release_data(ofibh.ebh); udf_release_data(ofibh.sbh); } - if (!ofi || udf_get_lb_pblock(old_dir->i_sb, lelb_to_cpu(ocfi.icb.extLocation), 0) != - old_inode->i_ino) - { + tloc = lelb_to_cpu(ocfi.icb.extLocation); + if (!ofi || udf_get_lb_pblock(old_dir->i_sb, tloc, 0) + != old_inode->i_ino) goto end_rename; - } nfi = udf_find_entry(new_dir, new_dentry, &nfibh, &ncfi); if (nfi) @@ -1231,11 +1231,11 @@ static int udf_rename (struct inode * ol } if (!dir_fi) goto end_rename; - if (udf_get_lb_pblock(old_inode->i_sb, cpu_to_lelb(dir_fi->icb.extLocation), 0) != - old_dir->i_ino) - { + tloc = cpu_to_lelb(dir_fi->icb.extLocation); + if (udf_get_lb_pblock(old_inode->i_sb, tloc, 0) + != old_dir->i_ino) goto end_rename; - } + retval = -EMLINK; if (!new_inode && new_dir->i_nlink >= (256<i_nlink))-1) goto end_rename; _