Re: [PATCH] ubifs: endian handling fixes and annotations

Harvey Harrison
2008-10-25T18:53:15Z

On Sat, 2008-10-25 at 13:57 +0300, Artem Bityutskiy wrote:
> Harvey,
>
> On Fri, 2008-10-24 at 10:52 -0700, Harvey Harrison wrote:
> > Noticed by sparse:
> > fs/ubifs/file.c:75:2: warning: restricted __le64 degrades to integer
> > fs/ubifs/file.c:629:4: warning: restricted __le64 degrades to integer
> > fs/ubifs/dir.c:431:3: warning: restricted __le64 degrades to integer
> >
> > This should be checked to ensure the ubifs_assert is working as
> > intended, I've done the suggested annotation in this patch.
> >
> > fs/ubifs/sb.c:298:6: warning: incorrect type in assignment (different base types)
> > fs/ubifs/sb.c:298:6: expected int [signed] [assigned] tmp
> > fs/ubifs/sb.c:298:6: got restricted __le64 [usertype] <noident>
> > fs/ubifs/sb.c:299:19: warning: incorrect type in assignment (different base types)
> > fs/ubifs/sb.c:299:19: expected restricted __le64 [usertype] atime_sec
> > fs/ubifs/sb.c:299:19: got int [signed] [assigned] tmp
> > fs/ubifs/sb.c:300:19: warning: incorrect type in assignment (different base types)
> > fs/ubifs/sb.c:300:19: expected restricted __le64 [usertype] ctime_sec
> > fs/ubifs/sb.c:300:19: got int [signed] [assigned] tmp
> > fs/ubifs/sb.c:301:19: warning: incorrect type in assignment (different base types)
> > fs/ubifs/sb.c:301:19: expected restricted __le64 [usertype] mtime_sec
> > fs/ubifs/sb.c:301:19: got int [signed] [assigned] tmp
>
> ... snip ...
>
> thanks for the patch. It's shame we did not fix this ourselves. We did
> run sparse before submitting UBIFS and did not see these warnings.
> Probably sparse has been improved recently. Anyway, thank you, I'll look
> closer at your patch and apply it to ubifs-2.6.git.
>

Run sparse with -D__CHECK_ENDIAN__ to see these warnings.

Harvey