summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_pcpu.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2009-06-25 00:28:43 +0000
committerrmacklem <rmacklem@FreeBSD.org>2009-06-25 00:28:43 +0000
commit4876fd20a922acf5de5121f38e5a539ee6d38464 (patch)
tree036078daf96308eeac1e74c26c3748d009bad982 /sys/kern/subr_pcpu.c
parent1095cbed62537502696e678ee1dd0c1be558cdd6 (diff)
downloadFreeBSD-src-4876fd20a922acf5de5121f38e5a539ee6d38464.zip
FreeBSD-src-4876fd20a922acf5de5121f38e5a539ee6d38464.tar.gz
Fix two known problems in clnt_rc.c, plus issues w.r.t. smp noted
during reading of the code. Change the code so that it never accesses rc_connecting, rc_closed or rc_client when the rc_lock mutex is not held. Also, it now performs the CLNT_CLOSE(client) and CLNT_RELEASE(client) calls after the rc_lock mutex has been released, since those calls do msleep()s with another mutex held. Change clnt_reconnect_call() so that releasing the reference count is delayed until after the "if (rc->rc_client == client)" check, so that rc_client cannot have been recycled. Tested by: pho Reviewed by: dfr Approved by: kib (mentor)
Diffstat (limited to 'sys/kern/subr_pcpu.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud