Bug 70021 - Call to munmap() causes system to partially hang; power cycle needed to recover.
Summary: Call to munmap() causes system to partially hang; power cycle needed to reco...
Status: NEW
Alias: None
Product: Networking
Classification: Unclassified
Component: Other (show other bugs)
Hardware: x86-64 Linux
: P1 high
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-05 00:51 UTC by Karl Auerbach
Modified: 2014-02-26 21:11 UTC (History)
3 users (show)

See Also:
Kernel Version: 3,12,1
Subsystem:
Regression: No
Bisected commit-id:


Attachments
This is a small program that triggers the fault. It requires root privilege to run. (3.13 KB, text/plain)
2014-02-05 00:51 UTC, Karl Auerbach
Details

Description Karl Auerbach 2014-02-05 00:51:02 UTC
Created attachment 124531 [details]
This is a small program that triggers the fault.  It requires root privilege to run.

Before kernel 3.12.1 one could mmap() the RX and TX ring buffers for a network socket and reliably release them with munmap().

Starting with kernel 3.12.1 and running through the latest kernel I tested (3.1.14) this no longer works.  The call to munmap() never returns.

Parts of the system may continue to operate, but the system can not be shut down by normal means.  It takes a hardware reset or power cycle to recover.

I've got a short program, extracted from something we've been running for several years, that triggers the problem.

I believe that every kernel from 3.12.1 and forward faults when this is run.

This has been reported to the Fedora crew, and it was suggested that I kick this upstream.  So here I am.
Comment 1 Alan 2014-02-05 11:41:03 UTC
Probably best posted to netdev@vger.kernel.org so it gets some prompt action
Comment 2 Daniel Borkmann 2014-02-26 21:11:03 UTC
Patch has been posted by me to Andrew Morton and sits in his tree waiting to be picked up by Linus and stable trees:

http://ozlabs.org/~akpm/mmotm/broken-out/mm-include-vm_mixedmap-flag-in-the-vm_special-list-to-avoid-munlocking.patch

Thanks.

Note You need to log in before you can comment on or make changes to this bug.