Re: [PATCH 3/7] Add assertion checking macros

From: Andi Kleen
Date: Fri Dec 16 2011 - 16:38:38 EST


David Howells <dhowells@xxxxxxxxxx> writes:
>
> There is no need to display val here in the case the expression fails
> since it can only be 0. If this fails, it produces an error like the
> following:
>
> ------------[ cut here ]------------
> kernel BUG at fs/fscache/main.c:109!
> ASSERTION FAILED

It would be nice to display the expression here like an user space
assert. While it can be looked up in the source it would
make quick eyeballing easier.

Probably wouldn't cost too much additional text size?

>
> (e) ASSERTIFCMP(C, X, OP, Y)
>
> This is a combination of ASSERTIF and ASSERTCMP. For example:
>
> ASSERTIFCMP(test_bit(FSCACHE_OP_EXCLUSIVE, &op->flags),
> object->n_exclusive, >, 0);

You probably want a checkpatch rule with those to only allow a few
selected functions like test_bit. Otherwise people will put real side
effects in there.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only
--
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/