|
@@ -1363,13 +1363,8 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg,
|
|
|
|
|
|
if (addr) {
|
|
if (addr) {
|
|
if (addr & (shmlba - 1)) {
|
|
if (addr & (shmlba - 1)) {
|
|
- /*
|
|
|
|
- * Round down to the nearest multiple of shmlba.
|
|
|
|
- * For sane do_mmap_pgoff() parameters, avoid
|
|
|
|
- * round downs that trigger nil-page and MAP_FIXED.
|
|
|
|
- */
|
|
|
|
- if ((shmflg & SHM_RND) && addr >= shmlba)
|
|
|
|
- addr &= ~(shmlba - 1);
|
|
|
|
|
|
+ if (shmflg & SHM_RND)
|
|
|
|
+ addr &= ~(shmlba - 1); /* round down */
|
|
else
|
|
else
|
|
#ifndef __ARCH_FORCE_SHMLBA
|
|
#ifndef __ARCH_FORCE_SHMLBA
|
|
if (addr & ~PAGE_MASK)
|
|
if (addr & ~PAGE_MASK)
|