I can confirm your patch avoids the oops on my machine. It does lead to interesting behavior if I run the sample program multiple times (with added printfs): vince@core2:~$ ./perf_mmap_close_bug mmap1=0x7f06a6e90000 mmap2=0x7f06a6e7f000 vince@core2:~$ ./perf_mmap_close_bug mmap1=0x7f878a138000 mmap2=0x7f878a127000 vince@core2:~$ ./perf_mmap_close_bug mmap1=0xffffffffffffffff Error opening fd2 Invalid argument and then it never successfully completes again. Is this unexpected behavior? Or just a normal mmap/perf interaction that I don't understand? Vince -- To unsubscribe from this list: send the line "unsubscribe trinity" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html