Re: [PATCH] neighbour: Convert if statment in the function, neigh_add_timer to a WARN_ON

From: Cong Wang
Date: Mon Jun 01 2015 - 23:37:43 EST


On Mon, Jun 1, 2015 at 7:37 PM, YOSHIFUJI Hideaki/åèèæ
<hideaki.yoshifuji@xxxxxxxxxxxxxxxx> wrote:
> Nicholas Krause wrote:
>> This converts the if statement for dumping the stack into a
>> WARN_ON in order to make this function's debugging check
>> simpler and have a cleaner output when this condition
>> occurs inside this function for when bugs related to
>> adding a duplicate neighbour table timer arise.
>>
>> Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>
>> ---
>> net/core/neighbour.c | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/net/core/neighbour.c b/net/core/neighbour.c
>> index 3de6542..0bf71da 100644
>> --- a/net/core/neighbour.c
>> +++ b/net/core/neighbour.c
>> @@ -165,11 +165,7 @@ static int neigh_forced_gc(struct neigh_table *tbl)
>> static void neigh_add_timer(struct neighbour *n, unsigned long when)
>> {
>> neigh_hold(n);
>> - if (unlikely(mod_timer(&n->timer, when))) {
>> - printk("NEIGH: BUG, double timer add, state is %x\n",
>> - n->nud_state);
>> - dump_stack();
>> - }
>> + WARN_ON(unlikely(mod_timer(&n->timer, when)));
>> }
>
> NACK, please do not use WARN_ON for things with side effects.

Just:

int ret = mod_timer(...);
WARN_ON(ret);
...
--
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/