diff options
| author | ozaki-r <ozaki-r@NetBSD.org> | 2015-10-20 07:35:15 +0000 |
|---|---|---|
| committer | ozaki-r <ozaki-r@NetBSD.org> | 2015-10-20 07:35:15 +0000 |
| commit | 4fef7ea9d802194645618d3abe6667494f3a9f6c (patch) | |
| tree | e376ff9a998aa02af779639f820b641e5ef7dfd9 /sys/dev | |
| parent | b04ddd48a19fef9342cb063aa9965500699dd821 (diff) | |
Stop using softnet_lock (fix possible deadlock)
Using softnet_lock for mutual exclusion between lltable_free and
arptimer was wrong and had an issue causing a deadlock between
them; lltable_free waits arptimer completion by calling
callout_halt with softnet_lock that is held in arptimer, however
lltable_free also holds llentry's lock that is also held in
arptimer so arptimer never obtain the lock and both never go
forward eventually. We have to pass llentry's lock to
callout_halt instead.
Diffstat (limited to 'sys/dev')
0 files changed, 0 insertions, 0 deletions
