]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - ipc/shm.c
[PATCH] ppc64: mark failed devices
[linux-2.6-omap-h63xx.git] / ipc / shm.c
index b58c651d31ae23a36c58a1de3005e6b5d46a2662..587d836d80d9d07f075259d3efe73917413f8010 100644 (file)
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -212,8 +212,16 @@ static int newseg (key_t key, int shmflg, size_t size)
                file = hugetlb_zero_setup(size);
                shp->mlock_user = current->user;
        } else {
+               int acctflag = VM_ACCOUNT;
+               /*
+                * Do not allow no accounting for OVERCOMMIT_NEVER, even
+                * if it's asked for.
+                */
+               if  ((shmflg & SHM_NORESERVE) &&
+                               sysctl_overcommit_memory != OVERCOMMIT_NEVER)
+                       acctflag = 0;
                sprintf (name, "SYSV%08x", key);
-               file = shmem_file_setup(name, size, VM_ACCOUNT);
+               file = shmem_file_setup(name, size, acctflag);
        }
        error = PTR_ERR(file);
        if (IS_ERR(file))