Re: [PATCH 2.6.15.4 1/1][RFC] ipt_owner: inode match supporting both incoming and outgoing packets

From: Török Edwin
Date: Sat Feb 18 2006 - 07:46:42 EST


On Saturday 18 February 2006 14:37, Christoph Hellwig wrote:
> On Sat, Feb 18, 2006 at 02:32:14PM +0200, T?r?k Edwin wrote:
> > Is there an alternative for locking the tasklist, and iterating through
> > all the threads to: find out the struct task* given a struct
> > fown_struct*. Or is there any other way to find out the inode, and
> > mountpoint of that process?
>
> no, and a driver shouldn't do that.
Ok, can a kernel function that is not part of a driver do that? Something
like: get_task_from_fown(..), or get_inode_of_process_fown(..)?
> This might sound harsh, but I'd say
> what you're trying to do is fundamentally doomed ;-)
Since Luke's patch didn't got accepted, I wasn't expecting mine to be.
But I am not giving up this easily. There has to be a way to solve this
problem. As a last resort, I'll try to maintain this as separate patch to be
applied to the kernel, but that is something I'd really try to avoid,
because:
- it would need updating with every kernel version => each kernel version a
new patch
- fixing bugs would take N times longer (N=kernel version - initial kernel
version)
- I am no kernel hacker, so I am not the appropiate person to maintain such a
patch
....

Even if all of it can't be done inside the kernel, I'd like to do as much as I
can of it, and maybe leave the rest to userspace. (By exporting needed stuff
via /proc, or /sys, such as socket/inode mappings, socket/process mappings).
But I believe the proper place to do this is inside the kernel.

Patrick McHardy ([1]) said that SELinux should do this, and it will be ready
soon. How would SELinux accomplish this?

[1] https://bugzilla.netfilter.org/bugzilla/show_bug.cgi?id=449
-
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/