1. 25 6月, 2019 1 次提交
  2. 14 5月, 2019 1 次提交
  3. 06 5月, 2019 1 次提交
  4. 23 4月, 2019 2 次提交
  5. 11 4月, 2019 1 次提交
  6. 09 4月, 2019 1 次提交
  7. 02 4月, 2019 1 次提交
  8. 28 3月, 2019 1 次提交
  9. 18 3月, 2019 1 次提交
  10. 16 2月, 2019 1 次提交
  11. 12 2月, 2019 1 次提交
  12. 31 1月, 2019 1 次提交
  13. 30 1月, 2019 4 次提交
  14. 22 1月, 2019 2 次提交
  15. 11 1月, 2019 1 次提交
  16. 21 12月, 2018 1 次提交
  17. 07 12月, 2018 1 次提交
  18. 05 12月, 2018 3 次提交
  19. 30 11月, 2018 1 次提交
  20. 27 11月, 2018 2 次提交
  21. 23 11月, 2018 2 次提交
  22. 16 10月, 2018 1 次提交
  23. 28 9月, 2018 2 次提交
  24. 26 9月, 2018 2 次提交
  25. 05 9月, 2018 1 次提交
  26. 13 8月, 2018 1 次提交
  27. 02 8月, 2018 1 次提交
    • J
      IB/uverbs: Do not pass struct ib_device to the ioctl methods · e83f0ecd
      Jason Gunthorpe 提交于
      This does the same as the patch before, except for ioctl. The rules are
      the same, but for the ioctl methods the core code handles setting up the
      uobject.
      
      - Retrieve the ib_dev from the uobject->context->device. This is
        safe under ioctl as the core has already done rdma_alloc_begin_uobject
        and so CREATE calls are entirely protected by the rwsem.
      - Retrieve the ib_dev from uobject->object
      - Call ib_uverbs_get_ucontext()
      Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
      e83f0ecd
  28. 31 7月, 2018 1 次提交
    • J
      IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language · bccd0622
      Jason Gunthorpe 提交于
      This clearly indicates that the input is a bitwise combination of values
      in an enum, and identifies which enum contains the definition of the bits.
      
      Special accessors are provided that handle the mandatory validation of the
      allowed bits and enforce the correct type for bitwise flags.
      
      If we had introduced this at the start then the kabi would have uniformly
      used u64 data to pass flags, however today there is a mixture of u64 and
      u32 flags. All places are converted to accept both sizes and the accessor
      fixes it. This allows all existing flags to grow to u64 in future without
      any hassle.
      
      Finally all flags are, by definition, optional. If flags are not passed
      the accessor does not fail, but provides a value of zero.
      Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
      Reviewed-by: NLeon Romanovsky <leonro@mellanox.com>
      bccd0622
  29. 26 7月, 2018 1 次提交
    • J
      IB/uverbs: Fix locking around struct ib_uverbs_file ucontext · 22fa27fb
      Jason Gunthorpe 提交于
      We have a parallel unlocked reader and writer with ib_uverbs_get_context()
      vs everything else, and nothing guarantees this works properly.
      
      Audit and fix all of the places that access ucontext to use one of the
      following locking schemes:
      - Call ib_uverbs_get_ucontext() under SRCU and check for failure
      - Access the ucontext through an struct ib_uobject context member
        while holding a READ or WRITE lock on the uobject.
        This value cannot be NULL and has no race.
      - Hold the ucontext_lock and check for ufile->ucontext !NULL
      
      This also re-implements ib_uverbs_get_ucontext() in a way that is safe
      against concurrent ib_uverbs_get_context() and disassociation.
      
      As a side effect, every access to ucontext in the commands is via
      ib_uverbs_get_context() with an error check, or via the uobject, so there
      is no longer any need for the core code to check ucontext on every command
      call. These checks are also removed.
      Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
      22fa27fb