mirror of https://github.com/torvalds/linux.git
Chapter 6 is right about mutex_trylock, but chapter 10 wasn't. This error was introduced during semaphore-to-mutex conversion of the Unreliable guide. :-) If user context which performs mutex_lock() or mutex_trylock() is preempted by interrupt context which performs mutex_trylock() on the same mutex instance, a deadlock occurs. This is because these functions do not disable local IRQs when they operate on mutex->wait_lock. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Acked-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| dvb | ||
| v4l | ||
| .gitignore | ||
| Makefile | ||
| alsa-driver-api.tmpl | ||
| debugobjects.tmpl | ||
| device-drivers.tmpl | ||
| deviceiobook.tmpl | ||
| drm.tmpl | ||
| filesystems.tmpl | ||
| gadget.tmpl | ||
| genericirq.tmpl | ||
| kernel-api.tmpl | ||
| kernel-hacking.tmpl | ||
| kernel-locking.tmpl | ||
| kgdb.tmpl | ||
| libata.tmpl | ||
| librs.tmpl | ||
| lsm.tmpl | ||
| mac80211.tmpl | ||
| mcabook.tmpl | ||
| media-entities.tmpl | ||
| media-indices.tmpl | ||
| media.tmpl | ||
| mtdnand.tmpl | ||
| networking.tmpl | ||
| rapidio.tmpl | ||
| regulator.tmpl | ||
| s390-drivers.tmpl | ||
| scsi.tmpl | ||
| sh.tmpl | ||
| stylesheet.xsl | ||
| tracepoint.tmpl | ||
| uio-howto.tmpl | ||
| usb.tmpl | ||
| writing-an-alsa-driver.tmpl | ||
| writing_usb_driver.tmpl | ||
| z8530book.tmpl | ||