diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2014-03-28 15:38:54 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2014-03-28 15:38:54 +0000 |
| commit | dd9f52b7704302ce56d4d97576dbc4b71f80b884 (patch) | |
| tree | 59cb12a2d4ada7561a93d5d440db30ffaeff56cd /sys/vm | |
| parent | 58d01fc582f2bef9b9fd451217b078c3140bfc53 (diff) | |
Notes
Diffstat (limited to 'sys/vm')
| -rw-r--r-- | sys/vm/vm_fault.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 3940e43ce681..ce0ce820895a 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -282,6 +282,10 @@ RetryFault:; map_generation = fs.map->timestamp; if (fs.entry->eflags & MAP_ENTRY_NOFAULT) { + if ((curthread->td_pflags & TDP_DEVMEMIO) != 0) { + vm_map_unlock_read(fs.map); + return (KERN_FAILURE); + } panic("vm_fault: fault on nofault entry, addr: %lx", (u_long)vaddr); } |
