Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ed161718a8f763130e6e349f2bbb1b764e6c5b3
Commit:     1ed161718a8f763130e6e349f2bbb1b764e6c5b3
Parent:     934c5e6019758305b9cb1eb977c5eac997cd0180
Author:     Marcin Slusarz <[EMAIL PROTECTED]>
AuthorDate: Fri Feb 8 04:20:48 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Feb 8 09:22:36 2008 -0800

    udf: fix 3 signedness & 1 unitialized variable warnings
    
    sparse generated:
    fs/udf/inode.c:324:41: warning: incorrect type in argument 4 (different 
signedness)
    fs/udf/inode.c:324:41:    expected long *<noident>
    fs/udf/inode.c:324:41:    got unsigned long *<noident>
    
    inode_getblk always set 4th argument to uint32_t value
    3rd parameter of map_bh is sector_t (which is unsigned long or u64)
    so convert phys value to sector_t
    
    fs/udf/inode.c:1818:47: warning: incorrect type in argument 3 (different 
signedness)
    fs/udf/inode.c:1818:47:    expected int *<noident>
    fs/udf/inode.c:1818:47:    got unsigned int *<noident>
    fs/udf/inode.c:1826:46: warning: incorrect type in argument 3 (different 
signedness)
    fs/udf/inode.c:1826:46:    expected int *<noident>
    fs/udf/inode.c:1826:46:    got unsigned int *<noident>
    
    udf_get_filelongad and udf_get_shortad are called always for uint32_t
    values (struct extent_position->offset), so it's safe to convert offset
    parameter to uint32_t
    
    gcc warned:
    fs/udf/inode.c: In function 'udf_get_block':
    fs/udf/inode.c:299: warning: 'phys' may be used uninitialized in this 
function
    initialize it to 0 (if someday someone will break inode_getblk we will 
catch it immediately)
    
    Signed-off-by: Marcin Slusarz <[EMAIL PROTECTED]>
    Cc: Ben Fennema <[EMAIL PROTECTED]>
    Acked-by: Jan Kara <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 fs/udf/directory.c |    8 ++++----
 fs/udf/inode.c     |    6 +++---
 fs/udf/udfdecl.h   |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/udf/directory.c b/fs/udf/directory.c
index d8ceb44..be16d76 100644
--- a/fs/udf/directory.c
+++ b/fs/udf/directory.c
@@ -282,7 +282,7 @@ static extent_ad *udf_get_fileextent(void *buffer, int 
bufsize, int *offset)
 }
 #endif
 
-short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, int *offset,
+short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, uint32_t *offset,
                              int inc)
 {
        short_ad *sa;
@@ -292,7 +292,7 @@ short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, 
int *offset,
                return NULL;
        }
 
-       if ((*offset < 0) || ((*offset + sizeof(short_ad)) > maxoffset))
+       if ((*offset + sizeof(short_ad)) > maxoffset)
                return NULL;
        else {
                sa = (short_ad *)ptr;
@@ -305,7 +305,7 @@ short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, 
int *offset,
        return sa;
 }
 
-long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, int *offset, int inc)
+long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, uint32_t *offset, int 
inc)
 {
        long_ad *la;
 
@@ -314,7 +314,7 @@ long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, 
int *offset, int inc)
                return NULL;
        }
 
-       if ((*offset < 0) || ((*offset + sizeof(long_ad)) > maxoffset))
+       if ((*offset + sizeof(long_ad)) > maxoffset)
                return NULL;
        else {
                la = (long_ad *)ptr;
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 6b4409f..466d2ee 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -52,7 +52,7 @@ static int udf_update_inode(struct inode *, int);
 static void udf_fill_inode(struct inode *, struct buffer_head *);
 static int udf_alloc_i_data(struct inode *inode, size_t size);
 static struct buffer_head *inode_getblk(struct inode *, sector_t, int *,
-                                       long *, int *);
+                                       sector_t *, int *);
 static int8_t udf_insert_aext(struct inode *, struct extent_position,
                              kernel_lb_addr, uint32_t);
 static void udf_split_extents(struct inode *, int *, int, int,
@@ -307,7 +307,7 @@ static int udf_get_block(struct inode *inode, sector_t 
block,
 {
        int err, new;
        struct buffer_head *bh;
-       unsigned long phys;
+       sector_t phys = 0;
        struct udf_inode_info *iinfo;
 
        if (!create) {
@@ -489,7 +489,7 @@ out:
 }
 
 static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,
-                                       int *err, long *phys, int *new)
+                                       int *err, sector_t *phys, int *new)
 {
        static sector_t last_block;
        struct buffer_head *result = NULL;
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h
index d9b8e28..681dc2b 100644
--- a/fs/udf/udfdecl.h
+++ b/fs/udf/udfdecl.h
@@ -188,8 +188,8 @@ extern struct fileIdentDesc *udf_fileident_read(struct 
inode *, loff_t *,
                                                sector_t *);
 extern struct fileIdentDesc *udf_get_fileident(void *buffer, int bufsize,
                                               int *offset);
-extern long_ad *udf_get_filelongad(uint8_t *, int, int *, int);
-extern short_ad *udf_get_fileshortad(uint8_t *, int, int *, int);
+extern long_ad *udf_get_filelongad(uint8_t *, int, uint32_t *, int);
+extern short_ad *udf_get_fileshortad(uint8_t *, int, uint32_t *, int);
 
 /* crc.c */
 extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to