Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83e9502d authored by Nir Muchtar's avatar Nir Muchtar Committed by Roland Dreier
Browse files

RDMA/cma: Save PID of ID's owner



Save the PID associated with an RDMA CM ID for reporting via netlink.

Signed-off-by: default avatarNir Muchtar <nirm@voltaire.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 753f618a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -133,6 +133,7 @@ struct rdma_id_private {
	u32			seq_num;
	u32			qkey;
	u32			qp_num;
	pid_t			owner;
	u8			srq;
	u8			tos;
	u8			reuseaddr;
@@ -420,6 +421,7 @@ struct rdma_cm_id *rdma_create_id(rdma_cm_event_handler event_handler,
	if (!id_priv)
		return ERR_PTR(-ENOMEM);

	id_priv->owner = task_pid_nr(current);
	id_priv->state = RDMA_CM_IDLE;
	id_priv->id.context = context;
	id_priv->id.event_handler = event_handler;
@@ -2746,6 +2748,9 @@ int rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param)
	int ret;

	id_priv = container_of(id, struct rdma_id_private, id);

	id_priv->owner = task_pid_nr(current);

	if (!cma_comp(id_priv, RDMA_CM_CONNECT))
		return -EINVAL;

@@ -3385,6 +3390,7 @@ static int cma_get_id_stats(struct sk_buff *skb, struct netlink_callback *cb)
				}
			}

			id_stats->pid		= id_priv->owner;
			id_stats->port_space	= id->ps;
			id_stats->cm_state	= id_priv->state;
			id_stats->qp_num	= id_priv->qp_num;