Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757877AbYLDON3 (ORCPT ); Thu, 4 Dec 2008 09:13:29 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756846AbYLDONE (ORCPT ); Thu, 4 Dec 2008 09:13:04 -0500 Received: from gw1.cosmosbay.com ([86.65.150.130]:38570 "EHLO gw1.cosmosbay.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756768AbYLDOND convert rfc822-to-8bit (ORCPT ); Thu, 4 Dec 2008 09:13:03 -0500 Message-ID: <4937E557.4080105@cosmosbay.com> Date: Thu, 04 Dec 2008 15:12:39 +0100 From: Eric Dumazet User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: Bart Van Assche CC: kernel list , Vladislav Bolkhovitin , Alexander Shishkin , Johannes Berg , Geert Uytterhoeven Subject: Re: A question about sparse: how to use __acquires() and __releases() correctly ? References: <4937DB1E.7060500@cosmosbay.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8BIT X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.6 (gw1.cosmosbay.com [0.0.0.0]); Thu, 04 Dec 2008 15:12:41 +0100 (CET) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5191 Lines: 92 Bart Van Assche a ?crit : > On Thu, Dec 4, 2008 at 2:29 PM, Eric Dumazet wrote: >> The sparse version I have here doesn't complain on dev_seq_stop() in >> net/core/dev.c > > I have been running sparse on a tree built with a .config file > generated by 'make allmodconfig'. Could this be an explanation ? No. this only happens because your sparse is more recent than mine # git pull Updating a02aeb3..8f208e2 Fast forward cgcc | 14 + evaluate.c | 40 +- expression.c | 2 + ident-list.h | 2 + inline.c | 12 +- lib.c | 115 +++++ lib.h | 1 + linearize.c | 37 +- linearize.h | 7 +- parse.c | 153 ++++++- parse.h | 3 +- scope.c | 2 +- show-parse.c | 98 ++-- simplify.c | 57 +++- sparse.1 | 53 ++- sparse.c | 424 +++++++++++++++-- symbol.c | 4 +- symbol.h | 6 +- tokenize.c | 2 + validation/compare-null-to-int.c | 2 +- validation/cond_expr.c | 2 +- validation/context-dynamic.c | 171 +++++++ validation/context-named.c | 553 ++++++++++++++++++++++ validation/context-statement.c | 69 +++ validation/context.c | 114 ++++- validation/declaration-after-statement-ansi.c | 12 + validation/declaration-after-statement-c89.c | 12 + validation/declaration-after-statement-c99.c | 9 + validation/declaration-after-statement-default.c | 9 + validation/dubious-bitwise-with-not.c | 9 + 30 files changed, 1811 insertions(+), 183 deletions(-) create mode 100644 validation/context-dynamic.c create mode 100644 validation/context-named.c create mode 100644 validation/context-statement.c create mode 100644 validation/declaration-after-statement-ansi.c create mode 100644 validation/declaration-after-statement-c89.c create mode 100644 validation/declaration-after-statement-c99.c create mode 100644 validation/declaration-after-statement-default.c create mode 100644 validation/dubious-bitwise-with-not.c After this update I have same warnings # make C=2 net/core/dev.o CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 CALL scripts/checksyscalls.sh CHECK scripts/mod/empty.c CHECK net/core/dev.c net/core/dev.c:2060:29: warning: symbol 'br_fdb_get_hook' was not declared. Should it be static? net/core/dev.c:2062:6: warning: symbol 'br_fdb_put_hook' was not declared. Should it be static? net/core/dev.c:626:9: warning: context imbalance in 'dev_get_by_name': wrong count at exit net/core/dev.c:626:9: context 'lock': wanted 0, got 1 net/core/dev.c:675:9: warning: context imbalance in 'dev_get_by_index': wrong count at exit net/core/dev.c:675:9: context 'lock': wanted 0, got 1 net/core/dev.c:763:9: warning: context imbalance in 'dev_get_by_flags': wrong count at exit net/core/dev.c:763:9: context 'lock': wanted 0, got 1 net/core/dev.c:1045:24: warning: context imbalance in 'dev_load': wrong count at exit net/core/dev.c:1045:24: context 'lock': wanted 0, got 1 net/core/dev.c:1909:9: warning: context imbalance in 'dev_queue_xmit': wrong count at exit net/core/dev.c:1909:9: context 'lock': wanted 0, got 1 net/core/dev.c:2150:9: warning: context imbalance in 'ing_filter': wrong count at exit net/core/dev.c:2150:9: context 'lock': wanted 0, got 1 net/core/dev.c:2469:2: warning: context imbalance in 'net_rx_action': wrong count at exit net/core/dev.c:2469:2: context 'lock': wanted 0, got 1 net/core/dev.c:2527:9: warning: context imbalance in 'dev_ifname': wrong count at exit net/core/dev.c:2527:9: context 'lock': wanted 0, got 1 net/core/dev.c:2608:9: warning: context imbalance in 'dev_seq_start': unexpected unlock net/core/dev.c:2608:9: context 'dev_base_lock': wanted 1, got 0 net/core/dev.c:2622:2: warning: context imbalance in 'dev_seq_stop': wrong count at exit net/core/dev.c:2622:2: context 'dev_base_lock': wanted 0, got 1 include/linux/netdevice.h:1767:2: warning: context imbalance in 'dev_unicast_unsync': wrong count at exit include/linux/netdevice.h:1767:2: context 'lock': wanted 0, got 1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/