diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/shm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1160,6 +1160,9 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr, | |||
1160 | down_write(¤t->mm->mmap_sem); | 1160 | down_write(¤t->mm->mmap_sem); |
1161 | if (addr && !(shmflg & SHM_REMAP)) { | 1161 | if (addr && !(shmflg & SHM_REMAP)) { |
1162 | err = -EINVAL; | 1162 | err = -EINVAL; |
1163 | if (addr + size < addr) | ||
1164 | goto invalid; | ||
1165 | |||
1163 | if (find_vma_intersection(current->mm, addr, addr + size)) | 1166 | if (find_vma_intersection(current->mm, addr, addr + size)) |
1164 | goto invalid; | 1167 | goto invalid; |
1165 | /* | 1168 | /* |