1. 03 9月, 2013 1 次提交
    • N
      RDMA/ocrdma: Dont use PD 0 for userpace CQ DB · cffce990
      Naresh Gottumukkala 提交于
      Create_CQ verb doesn't provide a PD pointer.  So, until now we are
      creating all (both userspace and kernel) CQ DB regions from PD0.  This
      will result in mmapping PD0 to applications.  A rogue userspace
      application can mess things up.
      
      Also more serious issues is even the be2net NIC uses PD0.
      
      This patch addresses this problem by:
      
      1) Create a PD page for every userspace application when the
         alloc_ucontext is called. This will be destroyed in
         dealloc_ucontext.
      2) All CQs for that context will use the PD allocated in ucontext.
      3) The first create_PD call from application will result in returning
         the PD address from its ucontext (no new PD will be created).
      4) For subsecquent create_pd calls from application, we create new PDs for
         the application.
      Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      cffce990
  2. 13 8月, 2013 2 次提交
  3. 09 5月, 2012 1 次提交