Re: [PATCH V9 3/6] mm: frontswap: core frontswap functionality

From: Andrew Morton
Date: Tue Sep 13 2011 - 16:52:44 EST


On Tue, 13 Sep 2011 15:40:36 -0500
Seth Jennings <sjenning@xxxxxxxxxxxxxxxxxx> wrote:

> Hey Dan,
>
> I get the following compile warnings:
>
> mm/frontswap.c: In function âinit_frontswapâ:
> mm/frontswap.c:264:5: warning: passing argument 4 of âdebugfs_create_size_tâ from incompatible pointer type
> include/linux/debugfs.h:68:16: note: expected âsize_t *â but argument is of type âlong unsigned int *â
> mm/frontswap.c:266:5: warning: passing argument 4 of âdebugfs_create_size_tâ from incompatible pointer type
> include/linux/debugfs.h:68:16: note: expected âsize_t *â but argument is of type âlong unsigned int *â
> mm/frontswap.c:268:5: warning: passing argument 4 of âdebugfs_create_size_tâ from incompatible pointer type
> include/linux/debugfs.h:68:16: note: expected âsize_t *â but argument is of type âlong unsigned int *â
> mm/frontswap.c:270:5: warning: passing argument 4 of âdebugfs_create_size_tâ from incompatible pointer type
> include/linux/debugfs.h:68:16: note: expected âsize_t *â but argument is of type âlong unsigned int *â
>
> size_t is platform dependent but is generally "unsigned int"
> for 32-bit and "unsigned long" for 64-bit.
>
> I think just typecasting these to size_t * would fix it.

That's very risky.

> On 09/13/2011 12:40 PM, Dan Magenheimer wrote:
> > +#ifdef CONFIG_DEBUG_FS
> > + struct dentry *root = debugfs_create_dir("frontswap", NULL);
> > + if (root == NULL)
> > + return -ENXIO;
> > + debugfs_create_size_t("gets", S_IRUGO,
> > + root, &frontswap_gets);
> > + debugfs_create_size_t("succ_puts", S_IRUGO,
> > + root, &frontswap_succ_puts);
> > + debugfs_create_size_t("puts", S_IRUGO,
> > + root, &frontswap_failed_puts);
> > + debugfs_create_size_t("invalidates", S_IRUGO,
> > + root, &frontswap_invalidates);
> > +#endif

Make them u32 and use debugfs_create_x32(), perhaps. Or create
debugfs_create_ulong().
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/