Messages in this thread | | | From | Oliver Neukum <> | Subject | Re: 2.6.21-rc suspend regression: sysfs deadlock | Date | Tue, 6 Mar 2007 21:16:25 +0100 |
| |
Am Dienstag, 6. März 2007 20:20 schrieb Hugh Dickins: > This comes from Oliver's commit 94bebf4d1b8e7719f0f3944c037a21cfd99a4af7 > Driver core: fix race in sysfs between sysfs_remove_file() and read()/write() > in 2.6.21-rc1. It looks to me like sysfs_write_file downs buffer->sem > while calling flush_write_buffer, and flushing that particular write > buffer entails downing buffer->sem in orphan_all_buffers.
I had not thought about sysfs removing files in sysfs.
> Suspend no longer deadlocks with the following silly patch, but I expect > this either pokes a small hole in your scheme, or renders it pointless.
The latter.
> Maybe that commit needs to be reverted, or maybe you can see how to fix > it up for -rc3.
If you want a quick fix a work queue could be used, but it's a kludge. Suggestions, anybody?
Regards Oliver - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |