Re: Why is the kfree() argument const?

From: Johannes Weiner
Date: Wed Jan 16 2008 - 17:36:59 EST


Hi,

Christoph Lameter <clameter@xxxxxxx> writes:

> On Wed, 16 Jan 2008, Johannes Weiner wrote:
>
>> So if I got it right and you actually modify the memory you only got a
>> const pointer to, you reach a level where you _have to_ break this
>> policy and cast to a non-const pointer, as it is currently done in
>> kfree(). No?
>
> Correct and we have gcc 4.2 currently spitting out warnings because of
> casting to non const. Any idea how to convince gcc that this is okay?

Two dirty hacks where gcc at least does not complain:

void *y = (void *)x;

and then pass y, or passing

*(void **)&x

directly.

Both approaches seem just too ugly to silence a bogus warning.

Hannes
--
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/