diff options
author | Marcin Slusarz <marcin.slusarz@gmail.com> | 2008-02-08 07:20:48 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 12:22:36 -0500 |
commit | 1ed161718a8f763130e6e349f2bbb1b764e6c5b3 (patch) | |
tree | 5bcb9e0c1320f184977345b604449dd7b9bc21f4 /fs/udf | |
parent | 934c5e6019758305b9cb1eb977c5eac997cd0180 (diff) |
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 <marcin.slusarz@gmail.com>
Cc: Ben Fennema <bfennema@falcon.csc.calpoly.edu>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/udf')
-rw-r--r-- | fs/udf/directory.c | 8 | ||||
-rw-r--r-- | fs/udf/inode.c | 6 | ||||
-rw-r--r-- | 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 d8ceb44f4f22..be16d7698a8c 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) | |||
282 | } | 282 | } |
283 | #endif | 283 | #endif |
284 | 284 | ||
285 | short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, int *offset, | 285 | short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, uint32_t *offset, |
286 | int inc) | 286 | int inc) |
287 | { | 287 | { |
288 | short_ad *sa; | 288 | short_ad *sa; |
@@ -292,7 +292,7 @@ short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, int *offset, | |||
292 | return NULL; | 292 | return NULL; |
293 | } | 293 | } |
294 | 294 | ||
295 | if ((*offset < 0) || ((*offset + sizeof(short_ad)) > maxoffset)) | 295 | if ((*offset + sizeof(short_ad)) > maxoffset) |
296 | return NULL; | 296 | return NULL; |
297 | else { | 297 | else { |
298 | sa = (short_ad *)ptr; | 298 | sa = (short_ad *)ptr; |
@@ -305,7 +305,7 @@ short_ad *udf_get_fileshortad(uint8_t *ptr, int maxoffset, int *offset, | |||
305 | return sa; | 305 | return sa; |
306 | } | 306 | } |
307 | 307 | ||
308 | long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, int *offset, int inc) | 308 | long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, uint32_t *offset, int inc) |
309 | { | 309 | { |
310 | long_ad *la; | 310 | long_ad *la; |
311 | 311 | ||
@@ -314,7 +314,7 @@ long_ad *udf_get_filelongad(uint8_t *ptr, int maxoffset, int *offset, int inc) | |||
314 | return NULL; | 314 | return NULL; |
315 | } | 315 | } |
316 | 316 | ||
317 | if ((*offset < 0) || ((*offset + sizeof(long_ad)) > maxoffset)) | 317 | if ((*offset + sizeof(long_ad)) > maxoffset) |
318 | return NULL; | 318 | return NULL; |
319 | else { | 319 | else { |
320 | la = (long_ad *)ptr; | 320 | la = (long_ad *)ptr; |
diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 6b4409f50196..466d2eea0eca 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c | |||
@@ -52,7 +52,7 @@ static int udf_update_inode(struct inode *, int); | |||
52 | static void udf_fill_inode(struct inode *, struct buffer_head *); | 52 | static void udf_fill_inode(struct inode *, struct buffer_head *); |
53 | static int udf_alloc_i_data(struct inode *inode, size_t size); | 53 | static int udf_alloc_i_data(struct inode *inode, size_t size); |
54 | static struct buffer_head *inode_getblk(struct inode *, sector_t, int *, | 54 | static struct buffer_head *inode_getblk(struct inode *, sector_t, int *, |
55 | long *, int *); | 55 | sector_t *, int *); |
56 | static int8_t udf_insert_aext(struct inode *, struct extent_position, | 56 | static int8_t udf_insert_aext(struct inode *, struct extent_position, |
57 | kernel_lb_addr, uint32_t); | 57 | kernel_lb_addr, uint32_t); |
58 | static void udf_split_extents(struct inode *, int *, int, int, | 58 | 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, | |||
307 | { | 307 | { |
308 | int err, new; | 308 | int err, new; |
309 | struct buffer_head *bh; | 309 | struct buffer_head *bh; |
310 | unsigned long phys; | 310 | sector_t phys = 0; |
311 | struct udf_inode_info *iinfo; | 311 | struct udf_inode_info *iinfo; |
312 | 312 | ||
313 | if (!create) { | 313 | if (!create) { |
@@ -489,7 +489,7 @@ out: | |||
489 | } | 489 | } |
490 | 490 | ||
491 | static struct buffer_head *inode_getblk(struct inode *inode, sector_t block, | 491 | static struct buffer_head *inode_getblk(struct inode *inode, sector_t block, |
492 | int *err, long *phys, int *new) | 492 | int *err, sector_t *phys, int *new) |
493 | { | 493 | { |
494 | static sector_t last_block; | 494 | static sector_t last_block; |
495 | struct buffer_head *result = NULL; | 495 | struct buffer_head *result = NULL; |
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index d9b8e281b95b..681dc2b66cdb 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 *, | |||
188 | sector_t *); | 188 | sector_t *); |
189 | extern struct fileIdentDesc *udf_get_fileident(void *buffer, int bufsize, | 189 | extern struct fileIdentDesc *udf_get_fileident(void *buffer, int bufsize, |
190 | int *offset); | 190 | int *offset); |
191 | extern long_ad *udf_get_filelongad(uint8_t *, int, int *, int); | 191 | extern long_ad *udf_get_filelongad(uint8_t *, int, uint32_t *, int); |
192 | extern short_ad *udf_get_fileshortad(uint8_t *, int, int *, int); | 192 | extern short_ad *udf_get_fileshortad(uint8_t *, int, uint32_t *, int); |
193 | 193 | ||
194 | /* crc.c */ | 194 | /* crc.c */ |
195 | extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t); | 195 | extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t); |