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]
Date:   Mon, 30 Apr 2018 13:10:49 -0400
From:   Doug Ledford <dledford@...hat.com>
To:     Jason Gunthorpe <jgg@...pe.ca>, jackm <jackm@....mellanox.co.il>
Cc:     Håkon Bugge <haakon.bugge@...cle.com>,
        Don Hiatt <don.hiatt@...el.com>,
        Dasaratharaman Chandramouli 
        <dasaratharaman.chandramouli@...el.com>,
        Ira Weiny <ira.weiny@...el.com>,
        Sean Hefty <sean.hefty@...el.com>,
        OFED mailing list <linux-rdma@...r.kernel.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] IB/core: Make ib_mad_client_id atomic

On Mon, 2018-04-30 at 08:49 -0600, Jason Gunthorpe wrote:
> On Mon, Apr 23, 2018 at 10:16:18PM +0300, jackm wrote:
> 
> > > > TIDs need to be globally unique on the entire machine.  
> > Jason, that is not exactly correct.
> 
> The expecation for /dev/umad users is that they all receive locally
> unique TID prefixes. The kernel may be OK to keep things port-specific
> but it is slightly breaking the API we are presenting to userspace to
> allow them to alias..
> 
> Jason

Would people be happier with this commit message then:

IB/core: Make ib_mad_client_id atomic
  
Currently, the kernel protects access to the agent ID allocator on a per
port basis using a spinlock, so it is impossible for two apps/threads on
the same port to get the same TID, but it is entirely possible for two
threads on different ports to end up with the same TID.  

As this can be confusing (regardless of it being legal according to the
IB Spec 1.3, C13-18.1.1, in section 13.4.6.4 - TransactionID usage),
and as the rdma-core user space API for /dev/umad devices implies unique
TIDs even across ports, make the TID an atomic type so that no two
allocations, regardless of port number, will be the same.

Signed-off-by: Håkon Bugge <haakon.bugge@...cle.com>
Reviewed-by: Jack Morgenstein <jackm@....mellanox.co.il>
Reviewed-by: Ira Weiny <ira.weiny@...el.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu@...cle.com>
Signed-off-by: Doug Ledford <dledford@...hat.com>


-- 
Doug Ledford <dledford@...hat.com>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ