diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-18 04:56:48 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-18 04:56:48 -0800 |
| commit | 43630c2cf39121fef7c8e49dff028b320870c80b (patch) | |
| tree | f0ee201ca67e9a1a14241eda0f33015ee52864b4 /include/linux | |
| parent | b75add94ae319a72f0eb31ac8482ac12057dce30 (diff) | |
[PATCH] Fix __release_region() race
From: MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>
I am testing PCI hot-plug in 2.6.2 kernel, but sometimes a struct resource
tree in kernel/resource.c was broken if multiple hot-plug requests are
issued at the same time.
The reason is lots of drivers call release_region() on hot removal, and
__release_region(), which is invoked by release_region() macro, changes the
tree without holding a writer lock for resource_lock.
I think __release_region() must hold a writer lock as well as
__request_region() does.
A following patch fixes the issue in my environment.
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
