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>
This commit is contained in:
Родитель
934c5e6019
Коммит
1ed161718a
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче