Here is some diff comparing output between the sparse 0.2 and the tip of git. -mm/mmap.c:1631:2: warning: context imbalance in 'expand_stack' - different lock contexts for basic block +include/linux/rmap.h:55:2: warning: context imbalance in 'expand_stack' - diffe The change is introduced by the inline annotate instruction, which mark the bb->pos to the inline function. This change make it back to the caller position. Signed-Off-By: Christopher Li <sparse@xxxxxxxxxxx> Index: sparse/linearize.c =================================================================== --- sparse.orig/linearize.c 2007-03-22 14:11:40.000000000 -0700 +++ sparse/linearize.c 2007-03-23 13:15:28.000000000 -0700 @@ -1650,6 +1650,7 @@ static pseudo_t linearize_inlined_call(s { struct instruction *insn = alloc_instruction(OP_INLINED_CALL, 0); struct statement *args = stmt->args; + struct basic_block *bb; pseudo_t pseudo; if (args) { @@ -1664,6 +1665,9 @@ static pseudo_t linearize_inlined_call(s insn->target = pseudo = linearize_compound_statement(ep, stmt); use_pseudo(insn, symbol_pseudo(ep, stmt->inline_fn), &insn->func); + bb = ep->active; + if (bb && !bb->insns) + bb->pos = stmt->pos; add_one_insn(ep, insn); return pseudo; } - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html