Messages in this thread | | | From | Andries.Brouwer@cwi ... | Date | Mon, 10 Dec 2001 23:53:00 GMT | Subject | Re: Sorry to be annoying, but "PATCH for shmdt" |
| |
From: <bottchen@earthlink.net>
Unfortunately the patch I submitted for shmdt has been overlooked. It's not a very exciting patch, but it does bring the code into agreement with the manpage. Here is an version of the patch updated for 2.4.16.
Yes, I agree. Referring to POSIX would have been more convincing, but it is true that shmdt is supposed to return EINVAL when the memory to be detached is not found.
Andries
--- linux-2.4.16old/ipc/shm.c Mon Dec 10 11:53:12 2001 +++ linux-2.4.16/ipc/shm.c Mon Dec 10 15:08:51 2001 @@ -651,16 +651,19 @@ { struct mm_struct *mm = current->mm; struct vm_area_struct *shmd, *shmdnext; + int retcode = -EINVAL;
down_write(&mm->mmap_sem); for (shmd = mm->mmap; shmd; shmd = shmdnext) { shmdnext = shmd->vm_next; if (shmd->vm_ops == &shm_vm_ops - && shmd->vm_start - (shmd->vm_pgoff << PAGE_SHIFT) == (ulong) shmaddr) + && shmd->vm_start - (shmd->vm_pgoff << PAGE_SHIFT) == (ulong) shmaddr) { do_munmap(mm, shmd->vm_start, shmd->vm_end - shmd->vm_start); + retcode = 0; + } } up_write(&mm->mmap_sem); - return 0; + return retcode; }
#ifdef CONFIG_PROC_FS
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |