diff options
author | Hugh Dickins <hugh.dickins@tiscali.co.uk> | 2009-09-12 12:21:27 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-24 08:43:54 -0700 |
commit | cb0365c9e045c09a92363d0e52b7cdaf18ce7f54 (patch) | |
tree | 3430c46b2606dad7b2502e07834cb10be2c463c6 | |
parent | 70b6cf945725c8b07ee18611165bb7dce4f41d74 (diff) |
fix undefined reference to user_shm_unlock
commit 2195d2818c37bdf263865f1e9effccdd9fc5f9d4 upstream.
My 353d5c30c666580347515da609dd74a2b8e9b828 "mm: fix hugetlb bug due to
user_shm_unlock call" broke the CONFIG_SYSVIPC !CONFIG_MMU build of both
2.6.31 and 2.6.30.6: "undefined reference to `user_shm_unlock'".
gcc didn't understand my comment! so couldn't figure out to optimize
away user_shm_unlock() from the error path in the hugetlb-less case, as
it does elsewhere. Help it to do so, in a language it understands.
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | ipc/shm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ipc/shm.c b/ipc/shm.c index 1bc4701ef4f..30162a59621 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -410,7 +410,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) return error; no_id: - if (shp->mlock_user) /* shmflg & SHM_HUGETLB case */ + if (is_file_hugepages(file) && shp->mlock_user) user_shm_unlock(size, shp->mlock_user); fput(file); no_file: |