From: Naresh Gottumukkala Date: Mon, 26 Aug 2013 09:57:44 +0000 (+0530) Subject: RDMA/ocrdma: Dont use PD 0 for userpace CQ DB X-Git-Tag: v3.12-rc1~139^2^6~7 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cffce99051b80c90630a9fff662a1b25e278069d;p=pandora-kernel.git RDMA/ocrdma: Dont use PD 0 for userpace CQ DB 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: Naresh Gottumukkala Signed-off-by: Roland Dreier --- Reading git-diff-tree failed