Re: why VM_SHM has been removed from mm.h?

From: Kamran Karimi
Date: Wed Mar 01 2006 - 11:53:03 EST


It's not obvious to me why the kernel would hang with an invalid pointer
error message there: ipc_lock appears to have good safety against being
passed a random id. Perhaps the invalid pointer message comes from
other code you've not shown (for example, I hope you shm_unlock(shp)
and return 1 when shm_lock succeeds), or perhaps I'm misreading.

I have put printk() statements all over the place. The hang (which is during boot time) occurs within the block of code that I sent you. There is a shm_unlock() statement after the code, but it is never reached.

Since you're already patching base kernel source (you mention
arch/xyz/mm/fault.c), why don't you just patch your own VM_SYSVSHM
into include/linux/mm.h, and set it on the vma in ipc/shm.c?

Yes this looks like a good solution. I have changed VM_SHM in mm.h to be 0x0800000 and am looking for a good place to include it in the vma->vm_flags. shmat() looks like a good place. How can I find the vma of a SysV shm in that routine?

-Kamran


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/