lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e0c96cb6-f4e3-0915-aded-10fc6df9868e@fujitsu.com>
Date:   Fri, 14 Apr 2023 06:47:32 +0000
From:   "Zhijian Li (Fujitsu)" <lizhijian@...itsu.com>
To:     Jinpu Wang <jinpu.wang@...os.com>
CC:     Guoqing Jiang <guoqing.jiang@...ux.dev>,
        Leon Romanovsky <leon@...nel.org>,
        "haris.iqbal@...os.com" <haris.iqbal@...os.com>,
        "jgg@...pe.ca" <jgg@...pe.ca>,
        "linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH for-next 2/3] RDMA/rtrs: Fix rxe_dealloc_pd warning



On 14/04/2023 14:03, Jinpu Wang wrote:
>>> I can see the path increase usecnt to 1.
>>>
>>> rtrs_cq_qp_create -> create_qp
>>>                       -> rdma_create_qp
>>>                           -> ib_create_qp
>>>                               -> create_qp
>>>                               -> ib_qp_usecnt_inc which increases pd->usecnt
>>>
>>> Where is another place to increase usecnt to 2?
>> It should be
>> ib_create_qp ...
>>     -> rxe_create_qp
>>       -> rxe_qp_from_init
>>          -> rxe_get(pd) <<< pd's refcnt will be increased.
> IIUC, this problem is rxe specific, because rxe manipulate refcnt
> itself? I checked mlx5/mlx4 they do not change the refcnt of pd when
> create_kernel_qp.
> 
> So question is then if the bug is on rxe side or rtrs side?
> 
> Zhijian how do you reproduce the warning? do you inject error explictly?

# cat rnbd-self.sh
#!/bin/bash

/root/rpma/tools/config_softroce.sh eth0
modprobe rnbd_server
modprobe rnbd_client

while true;
do
         echo "sessname=xyz path=ip:<server-ip> device_path=/dev/nvme0n1" > /sys/devices/virtual/rnbd-client/ctl/map_device
         for i in /sys/block/rnbd*/rnbd/unmap_device
         do
                 echo "normal" > $i
         done
done

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ