Re: [rdma:for-next 16/50] drivers/infiniband/hw/mlx4/cm.c:496:48: sparse: sparse: incorrect type in initializer (different address spaces)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On 2 Sep 2020, at 14:40, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:
> 
> On Wed, Sep 02, 2020 at 02:18:27PM +0200, Håkon Bugge wrote:
>> 
>> 
>>> On 2 Sep 2020, at 13:52, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:
>>> 
>>> On Wed, Sep 02, 2020 at 02:01:41PM +0800, kernel test robot wrote:
>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
>>>> head:   524d8ffd07f0ca10b24011487339f836ed859b32
>>>> commit: 227a0e142e375909959a74b7782403e14331f6f3 [16/50] IB/mlx4: Add support for REJ due to timeout
>>>> config: i386-randconfig-s001-20200902 (attached as .config)
>>>> compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
>>>> reproduce:
>>>>       # apt-get install sparse
>>>>       # sparse version: v0.6.2-191-g10164920-dirty
>>>>       git checkout 227a0e142e375909959a74b7782403e14331f6f3
>>>>       # save the attached .config to linux build tree
>>>>       make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 
>>>> 
>>>> If you fix the issue, kindly add following tag as appropriate
>>>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>>> 
>>> Gah!
>>> 
>>> Håkon, radix trees are not allowed please change this to xarray!
>> 
>> I believe this is lack of __rcu in the variable definition. I started with
>> 
>> 	void **slot; 
>> 
>> but sparse didn't like it, so I changed it to:
>> 
>> 	__rcu void **slot;
>> 
>> sparse liked that, but then it didn't like:
>> 
>> 	struct rej_tmout_entry *item = *slot;
>> 
>> Shall I change that to:
>> 
>> 	struct rej_tmout_entry *item = rcu_dereference_protected(*slot, true);
>> 
>> ?
>> 
>> 
>> Not sure why I need to meld in this rcu stuff when everything is protected by a mutex anyway.
>> 
>> Please advice,
> 
> Change to xarray.

Understood. It has to be converted anyway, now is probably the best time.


Thxs, Håkon

> 
> Jason





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux