RE: How far back does rdma-core X supports the kernel Y?

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

 



> WTF is this?
> 
> Based on the comment it should be:
> 
>          if (attr_mask & ~((1ULL << (IBV_QP_DEST_QPN + 1)) - 1))
> 
> To match the comment. And other places have the same mistake.
> 
> This was broken recently by 3ca7a1031486b588a7fbe0d262f8f89738215b58
> 
> Bodong??
> 

Oh yeah, that too.
But my point is that even after I've fixed this (I haven't checked other locations),
then backwardly compatibility is foo because the above check fails.
If you take a look at that kernel you can see it sets IB_QP_SMAC in attr_mask
and returns it to the user space. When modify QP is invoked it fails on that
check (IB_QP_DEST_QPN < IB_QP_SMAC).
This happens perhaps for the other bits. Haven't checked it yet.

For compatibility, we should pass the bits as they are (i.e. not fail the check), and ignore them
in later kernels.
Also, currently they are marked in ib_verbs.h as reserved. This is misleading as
it hints they are for future use. We should mark them as don't ever use.

If that sounds right to you, I can fix it. But it'll have wait till end of next week because
I'm not in the office.

Ram

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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