On Tue, Jan 02, 2018 at 10:18:32AM +0200, Leon Romanovsky wrote: > + /* PID == 0 means that this QP was created by kernel */ > + if (qp->res.pid && nla_put_u32(msg, > + RDMA_NLDEV_ATTR_RES_PID, qp->res.pid)) This is returning a pid in the init name space, obtained here: + res->pid = task_pid_nr(current); And since the netlink user is not running in the init name space this will return the wrong pid #, and worse potentially pids the current name space should not see. This API also needs to filter the results and only return pids visible, and translate the pids as well.. I also suspsect this needs to be a netlink array of pids for future, as we have hope someday to have RDMA uobjects shared between multiple processes? > + if (nla_put_string(msg, > + RDMA_NLDEV_ATTR_RES_PID_COMM, qp->res.task_comm)) > + goto err; Feels odd to return the content of /proc/XX/comm in netlink? Jason -- 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