We encountered some crashes recently and they are caused by the
race between the access and free of link/link group in smc link
group termination. The crashes can be reproduced in frequent
abnormal link group termination, like set RNICs up/down.
This set of patches tries to fix this by extending the life cycle
of link/link group to ensure that they won't be referred to after
cleared or freed.
v1->v2
- Declare __smcr_link_clear() as 'static'
Best wishes,
Wen Gu
Wen Gu (2):
net/smc: Resolve the race between link group access and termination
net/smc: Resolve the race between SMC-R link access and clear
net/smc/smc.h | 1 +
net/smc/smc_core.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++------
net/smc/smc_core.h | 7 +++++
3 files changed, 79 insertions(+), 9 deletions(-)