Hi,
When running sparse checks on a file that ends up including srcu.h, we
get the following warnings:
include/linux/srcu.h:52:44: error: undefined identifier 'sp'
include/linux/srcu.h:52:44: error: bad constant expression
include/linux/srcu.h:53:56: error: undefined identifier 'sp'
include/linux/srcu.h:53:56: error: bad constant expression
It seems to be caused by the following lines:
int srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
void srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
which come from the following commit.
commit 621934ee7ed5b073c7fd638b347e632c53572761
Author: Paul E. McKenney <[email protected]>
Date: Wed Oct 4 02:17:02 2006 -0700
[PATCH] srcu-3: RCU variant permitting read-side blocking
I was wondering if there is a way to fix those errors...
Thanks,
Brice
On Wed, Dec 06, 2006 at 10:50:14AM +0100, Brice Goglin wrote:
> Hi,
>
> When running sparse checks on a file that ends up including srcu.h, we
> get the following warnings:
>
> include/linux/srcu.h:52:44: error: undefined identifier 'sp'
> include/linux/srcu.h:52:44: error: bad constant expression
> include/linux/srcu.h:53:56: error: undefined identifier 'sp'
> include/linux/srcu.h:53:56: error: bad constant expression
>
> It seems to be caused by the following lines:
>
> int srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
> void srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
>
> which come from the following commit.
>
> commit 621934ee7ed5b073c7fd638b347e632c53572761
> Author: Paul E. McKenney <[email protected]>
> Date: Wed Oct 4 02:17:02 2006 -0700
>
> [PATCH] srcu-3: RCU variant permitting read-side blocking
>
>
> I was wondering if there is a way to fix those errors...
I believe that you need to update your version of sparse to 0.1.
See http://lwn.net/Articles/208312/ for more info.
Thanx, Paul
Paul E. McKenney wrote:
> On Wed, Dec 06, 2006 at 10:50:14AM +0100, Brice Goglin wrote:
>
>> Hi,
>>
>> When running sparse checks on a file that ends up including srcu.h, we
>> get the following warnings:
>>
>> include/linux/srcu.h:52:44: error: undefined identifier 'sp'
>> include/linux/srcu.h:52:44: error: bad constant expression
>> include/linux/srcu.h:53:56: error: undefined identifier 'sp'
>> include/linux/srcu.h:53:56: error: bad constant expression
>>
>> It seems to be caused by the following lines:
>>
>> int srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
>> void srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
>>
>> which come from the following commit.
>>
>> commit 621934ee7ed5b073c7fd638b347e632c53572761
>> Author: Paul E. McKenney <[email protected]>
>> Date: Wed Oct 4 02:17:02 2006 -0700
>>
>> [PATCH] srcu-3: RCU variant permitting read-side blocking
>>
>>
>> I was wondering if there is a way to fix those errors...
>>
>
> I believe that you need to update your version of sparse to 0.1.
> See http://lwn.net/Articles/208312/ for more info.
>
> Thanx, Paul
>
Right, thanks, I had an old version hidden in /usr/local, works fine now.
Brice
Paul E. McKenney wrote:
> On Wed, Dec 06, 2006 at 10:50:14AM +0100, Brice Goglin wrote:
>
>> Hi,
>>
>> When running sparse checks on a file that ends up including srcu.h, we
>> get the following warnings:
>>
>> include/linux/srcu.h:52:44: error: undefined identifier 'sp'
>> include/linux/srcu.h:52:44: error: bad constant expression
>> include/linux/srcu.h:53:56: error: undefined identifier 'sp'
>> include/linux/srcu.h:53:56: error: bad constant expression
>>
>> It seems to be caused by the following lines:
>>
>> int srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
>> void srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
>>
>> which come from the following commit.
>>
>> commit 621934ee7ed5b073c7fd638b347e632c53572761
>> Author: Paul E. McKenney <[email protected]>
>> Date: Wed Oct 4 02:17:02 2006 -0700
>>
>> [PATCH] srcu-3: RCU variant permitting read-side blocking
>>
>>
>> I was wondering if there is a way to fix those errors...
>>
>
> I believe that you need to update your version of sparse to 0.1.
> See http://lwn.net/Articles/208312/ for more info.
>
> Thanx, Paul
>
Right, thanks, I had an old version hidden in /usr/local, works fine now.
Brice
Paul E. McKenney wrote:
> On Wed, Dec 06, 2006 at 10:50:14AM +0100, Brice Goglin wrote:
>
>> Hi,
>>
>> When running sparse checks on a file that ends up including srcu.h, we
>> get the following warnings:
>>
>> include/linux/srcu.h:52:44: error: undefined identifier 'sp'
>> include/linux/srcu.h:52:44: error: bad constant expression
>> include/linux/srcu.h:53:56: error: undefined identifier 'sp'
>> include/linux/srcu.h:53:56: error: bad constant expression
>>
>> It seems to be caused by the following lines:
>>
>> int srcu_read_lock(struct srcu_struct *sp) __acquires(sp);
>> void srcu_read_unlock(struct srcu_struct *sp, int idx) __releases(sp);
>>
>> which come from the following commit.
>>
>> commit 621934ee7ed5b073c7fd638b347e632c53572761
>> Author: Paul E. McKenney <[email protected]>
>> Date: Wed Oct 4 02:17:02 2006 -0700
>>
>> [PATCH] srcu-3: RCU variant permitting read-side blocking
>>
>>
>> I was wondering if there is a way to fix those errors...
>>
>
> I believe that you need to update your version of sparse to 0.1.
> See http://lwn.net/Articles/208312/ for more info.
>
> Thanx, Paul
>
Right, thanks, I had an old version hidden in /usr/local, works fine now.
Brice