|
@@ -153,12 +153,10 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
|
|
|
* If we make a private mapping writable we increase our commit;
|
|
|
* but (without finer accounting) cannot reduce our commit if we
|
|
|
* make it unwritable again.
|
|
|
- *
|
|
|
- * FIXME? We haven't defined a VM_NORESERVE flag, so mprotecting
|
|
|
- * a MAP_NORESERVE private mapping to writable will now reserve.
|
|
|
*/
|
|
|
if (newflags & VM_WRITE) {
|
|
|
- if (!(oldflags & (VM_ACCOUNT|VM_WRITE|VM_SHARED))) {
|
|
|
+ if (!(oldflags & (VM_ACCOUNT|VM_WRITE|
|
|
|
+ VM_SHARED|VM_NORESERVE))) {
|
|
|
charged = nrpages;
|
|
|
if (security_vm_enough_memory(charged))
|
|
|
return -ENOMEM;
|