Re: [PATCH] af_key: suppress a warning for 64k pages.

From: David Miller
Date: Wed Oct 31 2007 - 00:09:01 EST


From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Wed, 31 Oct 2007 14:59:54 +1100

> On PowerPC allmodconfig build we get this:
>
> net/key/af_key.c:400: warning: comparison is always false due to limited range of data type
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
...
>
> + /* sadb_x_ctx_len is uint16_t */
> +#if PAGE_SIZE < (1 << 16)
> if (sec_ctx->sadb_x_ctx_len > PAGE_SIZE)
> return -EINVAL;
> +#endif
>
> len = pfkey_sec_ctx_len(sec_ctx);
>

I'm not so sure ifdef'ing things up all over the place is the way to
solve this. It makes the code ultra ugly.

I think we should retain the check, but modify it so that GCC knows we
understand that it's OK if it is always false. Perhaps a simple (u32)
cast on the left branch of the comparison is sufficient?
-
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/