Bogus sparse warning?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Using latest code from git://git.kernel.org/pub/scm/linux/kernel/git/ josh/sparse.git

When I run:  make CHECKFLAGS="-D__CHECK_ENDIAN__" C=2 modules

I get this warning:

  CHECK   fs/ntfs/file.c
fs/ntfs/file.c:2241:5: warning: incorrect type in argument 8 (different signedness) fs/ntfs/file.c:2241:5: expected int [signed] ( [signed] [usertype] get_block )( ... ) fs/ntfs/file.c:2241:5: got int [signed] ( static [toplevel] *<noident> )( ... )

The relevant code to reproduce this is:

From <include/linux/fs.h>:

typedef int (get_block_t)(struct inode *inode, sector_t iblock,
                        struct buffer_head *bh_result, int create);

static inline ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb,
struct inode *inode, struct block_device *bdev, const struct iovec *iov,
        loff_t offset, unsigned long nr_segs, get_block_t get_block,
        dio_iodone_t end_io)
{
}

In my current <fs/ntfs/file.c>:

static int ntfs_get_block_for_direct_IO_write(struct inode *vi, sector_t blk,
                struct buffer_head *bh, int create)
{
}

And later (this is line 2240 from the error message):

written = blockdev_direct_IO(WRITE, iocb, vi, vi- >i_sb->s_bdev,
                                iov, pos, *nr_segs,
ntfs_get_block_for_direct_IO_write, NULL);

Why is sparse complaining? And perhaps more importantly how do I make the warning go away?

Thanks a lot in advance!

Best regards,

	Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/


-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux