Infiniband: don't use task_struct.tgid in make_cm_node()
PATCH 3/3 Infiniband: don't use task_struct.tgid in make_cm_node()
The task_struct->tgid field is about to become deprecated, due to pid namespaces make tasks have many pids, not one. There is one place using it left to fix in infiniband - the make_cm_node().
This function uses the task tgid just to generate a session id, so it's perfectly safe to use appropriate wrapper - task_tgid_nr().
Signed-off-by Pavel Emelyanov <[email protected]>
---
drivers/infiniband/hw/nes/nes_cm.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
drivers/infiniband/hw/nes/nes_cm.c +4 -2
@@ -1077,7 +1077,8 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,/* get a unique session ID , add thread_id to an upcounter to handle race */ atomic_inc (&cm_core->node_cnt);atomic_inc (&cm_core->session_id); - cm_node->session_id = (u32)(atomic_read (&cm_core->session_id) + current->tgid); + cm_node->session_id = (u32)(atomic_read (&cm_core->session_id) + +task_tgid_nr (current)); cm_node->conn_type = cm_info->conn_type; cm_node->apbvt_set =0 ; cm_node->accept_pend =0 ;
@@ -1606,7 +1607,8 @@ static struct nes_cm_listener *mini_cm_listen(struct nes_cm_core *cm_core,atomic_inc (&cm_core->node_cnt);atomic_inc (&cm_core->session_id); - listener->session_id = (u32)(atomic_read (&cm_core->session_id) + current->tgid); + listener->session_id = (u32)(atomic_read (&cm_core->session_id) + +task_tgid_nr (current)); listener->conn_type = cm_info->conn_type; listener->backlog = cm_info->backlog; listener->listener_state =NES_CM_LISTENER_ACTIVE_STATE ;