From: Hugh Dickins <hugh@veritas.com>
To: Kamran Karimi <kamrankarimi@hotmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: why VM_SHM has been removed from mm.h?
Date: Wed, 1 Mar 2006 16:24:07 +0000 (GMT) [thread overview]
Message-ID: <Pine.LNX.4.61.0603011601360.11678@goblin.wat.veritas.com> (raw)
In-Reply-To: <BAY104-F540D2AB4A73950CA9891BC0F40@phx.gbl>
On Wed, 1 Mar 2006, Kamran Karimi wrote:
>
> Thank you Hugh for the reply. Last time I used VM_SHM was in 2.2.x kernels.
> I have a programme called DIPC which makes System V shared memory segments
> (and also messages and semaphores) work over a network.
>
> In the arch/xyz/mm/fault.c file, it checks the VM_SHM flag and then calls
> its logic. As a substitute I've been trying this ad-hoc code to see if a vma
> represents a Sys V shm:
>
> file = vma->vm_file;
> if(file && (file->f_dentry) && (file->f_dentry->d_inode) &&
> (id = file->f_dentry->d_inode->i_ino)) {
> shp = shm_lock(id);
> if(shp == NULL)
> return 0; // not a Sys V shm
> }
> else return 0; // not a Sys V shm
>
> But the kernel hangs with an invalid-pointer error message. Any suggestions?
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.
But what you're doing there looks entirely weird and meaningless to me:
if shm_lock happens to succeed or fail on the inode number of some file
on some filesystem, that tells you nothing about whether that file is
SysV shm or not. Ah, I see ipc/shm.c saves id in i_ino: so if you're
dealing with a SysV shm file, then indeed that ought to tell whether
you're dealing with a SysV shm file - but that hasn't helped much!
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?
Hugh
next prev parent reply other threads:[~2006-03-01 16:23 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <op.s5cj47sxj68xd1@mail.piments.com>
[not found] ` <op.s5jpqvwhui3qek@mail.piments.com>
[not found] ` <op.s5kxhyzgfx0war@mail.piments.com>
[not found] ` <op.s5kx7xhfj68xd1@mail.piments.com>
[not found] ` <op.s5kya3t0j68xd1@mail.piments.com>
[not found] ` <op.s5ky2dbcj68xd1@mail.piments.com>
[not found] ` <op.s5ky71nwj68xd1@mail.piments.com>
[not found] ` <op.s5kzao2jj68xd1@mail.piments.com>
2006-02-26 22:50 ` o_sync in vfat driver col-pepper
2006-02-27 13:28 ` Lennart Sorensen
2006-02-27 13:50 ` Arjan van de Ven
2006-02-27 14:06 ` Anton Altaparmakov
2006-02-27 14:27 ` Arjan van de Ven
2006-02-27 14:41 ` Anton Altaparmakov
2006-02-27 21:04 ` col-pepper
2006-02-27 21:17 ` Arjan van de Ven
2006-02-27 23:21 ` col-pepper
2006-02-27 21:32 ` linux-os (Dick Johnson)
2006-02-27 23:21 ` col-pepper
2006-02-28 13:10 ` linux-os (Dick Johnson)
2006-02-28 13:52 ` Sergei Organov
2006-02-28 15:18 ` Lennart Sorensen
2006-02-28 16:16 ` linux-os (Dick Johnson)
2006-02-28 17:23 ` Sergei Organov
2006-02-28 18:09 ` Krzysztof Halasa
2006-02-28 17:16 ` col-pepper
2006-02-28 22:38 ` Pavel Machek
2006-02-28 23:10 ` why VM_SHM has been removed from mm.h? Kamran Karimi
2006-03-01 3:02 ` Phillip Susi
2006-03-01 7:56 ` Hugh Dickins
2006-03-01 14:58 ` Kamran Karimi
2006-03-01 16:24 ` Hugh Dickins [this message]
2006-03-01 16:55 ` Kamran Karimi
2006-03-01 17:50 ` Hugh Dickins
2006-03-01 4:28 ` o_sync in vfat driver Kyle Moffett
2006-03-02 8:23 ` col-pepper
2006-03-02 8:32 ` Pavel Machek
2006-02-28 16:11 ` Helge Hafting
2006-02-28 22:37 ` Pavel Machek
2006-02-27 14:26 ` linux-os (Dick Johnson)
2006-02-27 18:53 ` Jan Engelhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.61.0603011601360.11678@goblin.wat.veritas.com \
--to=hugh@veritas.com \
--cc=kamrankarimi@hotmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®