Re: [PATCH 5/6] udf: fix signedness issue

Marcin Slusarz
2007-12-19T19:26:05Z

On Mon, Dec 17, 2007 at 05:32:17PM +0100, Jan Kara wrote:
> > sparse generated:
> > fs/udf/namei.c:896:15: originally declared here
> > fs/udf/namei.c:1147:41: warning: incorrect type in argument 3 (different signedness)
> > fs/udf/namei.c:1147:41: expected int *offset
> > fs/udf/namei.c:1147:41: got unsigned int *<noident>
> > fs/udf/namei.c:1152:78: warning: incorrect type in argument 3 (different signedness)
> > fs/udf/namei.c:1152:78: expected int *offset
> > fs/udf/namei.c:1152:78: got unsigned int *<noident>
> >
> > Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
> I don't think this is right. udf_get_fileident() should take "unsigned
> int *" as an offset, not just "int". This means changing struct
> udf_fileident_bh to use unsigned int too but that is better anyway.
> And BTW the type shouldn't be uint32_t but really unsigned int in
> udf_rename (int needn't have 32 bits on all archs (although I think it
> has currently)).
That would be hard. Look what is happening with soffset and eoffset
eg in udf_fileident_read() - these fields are used as signed ints.

Marcin