
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/IC914B CVE: NA -------------------------------- This reverts commit d12efaa47c98f4b34964a6fa48c40fbace215248. No need to rename llc_conf_mutex. Revert it and keep the same with mainline. Fixes: d12efaa47c98 ("net/smc: Rename 'llc_conf_mutex' variable to 'llc_conf_lock' in struct smc_link_group") Conflicts: net/smc/smc_core.c [conflicts due to merged mainline b8d199451c99 ("net/smc: Allow virtually contiguous sndbufs or RMBs for SMC-R")] Signed-off-by: Wang Liang <wangliang74@huawei.com> --- net/smc/af_smc.c | 8 ++++---- net/smc/smc_core.c | 20 ++++++++++---------- net/smc/smc_core.h | 2 +- net/smc/smc_llc.c | 18 +++++++++--------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index a365ea2f5484..f8c3c8c1a88f 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c @@ -441,7 +441,7 @@ static int smcr_lgr_reg_sndbufs(struct smc_link *link, return -EINVAL; /* protect against parallel smcr_link_reg_buf() */ - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) { if (!smc_link_active(&lgr->lnk[i])) continue; @@ -449,7 +449,7 @@ static int smcr_lgr_reg_sndbufs(struct smc_link *link, if (rc) break; } - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); return rc; } @@ -466,7 +466,7 @@ static int smcr_lgr_reg_rmbs(struct smc_link *link, /* protect against parallel smc_llc_cli_rkey_exchange() and * parallel smcr_link_reg_buf() */ - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) { if (!smc_link_active(&lgr->lnk[i])) continue; @@ -483,7 +483,7 @@ static int smcr_lgr_reg_rmbs(struct smc_link *link, } rmb_desc->is_conf_rkey = true; out: - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); smc_llc_flow_stop(lgr, &lgr->llc_flow_lcl); return rc; } diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 124a3f06d237..30697a76598c 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -1026,10 +1026,10 @@ static void smcr_buf_unuse(struct smc_buf_desc *buf_desc, bool is_rmb, rc = smc_llc_flow_initiate(lgr, SMC_LLC_FLOW_RKEY); if (!rc) { /* protect against smc_llc_cli_rkey_exchange() */ - down_read(&lgr->llc_conf_lock); + down_read(&lgr->llc_conf_mutex); smc_llc_do_delete_rkey(lgr, buf_desc); buf_desc->is_conf_rkey = false; - up_read(&lgr->llc_conf_lock); + up_read(&lgr->llc_conf_mutex); smc_llc_flow_stop(lgr, &lgr->llc_flow_lcl); } } @@ -1288,12 +1288,12 @@ static void smc_lgr_free(struct smc_link_group *lgr) int i; if (!lgr->is_smcd) { - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) { if (lgr->lnk[i].state != SMC_LNK_UNUSED) smcr_link_clear(&lgr->lnk[i], false); } - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); smc_llc_lgr_clear(lgr); } @@ -1632,12 +1632,12 @@ static void smcr_link_down(struct smc_link *lnk) } else { if (lgr->llc_flow_lcl.type != SMC_LLC_FLOW_NONE) { /* another llc task is ongoing */ - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); wait_event_timeout(lgr->llc_flow_waiter, (list_empty(&lgr->list) || lgr->llc_flow_lcl.type == SMC_LLC_FLOW_NONE), SMC_LLC_WAIT_TIME); - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); } if (!list_empty(&lgr->list)) { smc_llc_send_delete_link(to_lnk, del_link_id, @@ -1693,9 +1693,9 @@ static void smc_link_down_work(struct work_struct *work) if (list_empty(&lgr->list)) return; wake_up_all(&lgr->llc_msg_waiter); - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); smcr_link_down(link); - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); } static int smc_vlan_by_tcpsk_walk(struct net_device *lower_dev, @@ -2170,7 +2170,7 @@ static int smcr_buf_map_usable_links(struct smc_link_group *lgr, int i, rc = 0, cnt = 0; /* protect against parallel link reconfiguration */ - down_read(&lgr->llc_conf_lock); + down_read(&lgr->llc_conf_mutex); for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) { struct smc_link *lnk = &lgr->lnk[i]; @@ -2183,7 +2183,7 @@ static int smcr_buf_map_usable_links(struct smc_link_group *lgr, cnt++; } out: - up_read(&lgr->llc_conf_lock); + up_read(&lgr->llc_conf_mutex); if (!rc && !cnt) rc = -EINVAL; return rc; diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h index 16c286360d36..54834a6ed98a 100644 --- a/net/smc/smc_core.h +++ b/net/smc/smc_core.h @@ -284,7 +284,7 @@ struct smc_link_group { /* queue for llc events */ spinlock_t llc_event_q_lock; /* protects llc_event_q */ - struct rw_semaphore llc_conf_lock; + struct rw_semaphore llc_conf_mutex; /* protects lgr reconfig. */ struct work_struct llc_add_link_work; struct work_struct llc_del_link_work; diff --git a/net/smc/smc_llc.c b/net/smc/smc_llc.c index 97d10b933512..b9151d491da6 100644 --- a/net/smc/smc_llc.c +++ b/net/smc/smc_llc.c @@ -982,12 +982,12 @@ static void smc_llc_process_cli_add_link(struct smc_link_group *lgr) qentry = smc_llc_flow_qentry_clr(&lgr->llc_flow_lcl); - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); if (smc_llc_is_local_add_link(&qentry->msg)) smc_llc_cli_add_link_invite(qentry->link, qentry); else smc_llc_cli_add_link(qentry->link, qentry); - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); } static int smc_llc_active_link_count(struct smc_link_group *lgr) @@ -1236,13 +1236,13 @@ static void smc_llc_process_srv_add_link(struct smc_link_group *lgr) smc_llc_flow_qentry_del(&lgr->llc_flow_lcl); - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); rc = smc_llc_srv_add_link(link); if (!rc && lgr->type == SMC_LGR_SYMMETRIC) { /* delete any asymmetric link */ smc_llc_delete_asym_link(lgr); } - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); } /* enqueue a local add_link req to trigger a new add_link flow */ @@ -1307,7 +1307,7 @@ static void smc_llc_process_cli_delete_link(struct smc_link_group *lgr) smc_lgr_terminate_sched(lgr); goto out; } - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); /* delete single link */ for (lnk_idx = 0; lnk_idx < SMC_LINKS_PER_LGR_MAX; lnk_idx++) { if (lgr->lnk[lnk_idx].link_id != del_llc->link_num) @@ -1341,7 +1341,7 @@ static void smc_llc_process_cli_delete_link(struct smc_link_group *lgr) smc_lgr_terminate_sched(lgr); } out_unlock: - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); out: kfree(qentry); } @@ -1377,7 +1377,7 @@ static void smc_llc_process_srv_delete_link(struct smc_link_group *lgr) int active_links; int i; - down_write(&lgr->llc_conf_lock); + down_write(&lgr->llc_conf_mutex); qentry = smc_llc_flow_qentry_clr(&lgr->llc_flow_lcl); lnk = qentry->link; del_llc = &qentry->msg.delete_link; @@ -1433,7 +1433,7 @@ static void smc_llc_process_srv_delete_link(struct smc_link_group *lgr) smc_llc_add_link_local(lnk); } out: - up_write(&lgr->llc_conf_lock); + up_write(&lgr->llc_conf_mutex); kfree(qentry); } @@ -1790,7 +1790,7 @@ void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc) spin_lock_init(&lgr->llc_flow_lock); init_waitqueue_head(&lgr->llc_flow_waiter); init_waitqueue_head(&lgr->llc_msg_waiter); - init_rwsem(&lgr->llc_conf_lock); + init_rwsem(&lgr->llc_conf_mutex); lgr->llc_testlink_time = READ_ONCE(net->ipv4.sysctl_tcp_keepalive_time); } -- 2.34.1