Hello.TOMOYO is one of AppArmor's friends, and I am the guy who proposed to pass a reference to vfsmount via task_struct as if that reference is passed via stack memory. I'm not asking to pass the vfsmount parameter to individual filesystem's "vfs functions". I'm asking to pass the vfsmount parameter to the "vfs *helper* functions". So, filesytem will not care where it is mounted even if the vfsmount is passed to "vfs *helper* functions". The vfs helper functions are designed to aggregate common checks (permission checks, inode_operations->foo existence checks etc.) to avoid scattering same code everywhere in the kernel, didn't they? At least, calls to vfs helper functions from userland code _do_ have the vfsmount available because they are called immediately after the name resolution. Calls to vfs helper functions from kernel code does not always have the vfsmount available, but that's beyond what the LSM can do. We must trust kernel code, because kernel code can bypass the LSM check if the kernel code is malicious enough to directly call "vfs functions" instead of calling "vfs helper functions". (Or, more simply, kernel code can rewrite the call to the LSM check to no-op like funny workaround for vmsplice's vulnerability). I think attempt to receive the vfsmount from kernel code won't help guaranteeing that LSM's security checks are always performed. Routes to access "vfs functions" from kernel code is undeterminable. In other words, LSM can't guarantee that LSM's security checks are always performed against the kernel code regardless of the security model. But, at least, LSM can guarantee that LSM's security checks are always performed against the userland code regardless of the security model. Routes to access "vfs functions" from userland code is determinable. So, making the vfsmount available to LSM make sense. I don't care if the vfsmount is unavailable when the vfs helper function call was issued from kernel code. --
| Jeremy Fitzhardinge | Re: [RFC 00/15] x86_64: Optimize percpu accesses |
| jmerkey | [ANNOUNCE] mdb: Merkey's Linux Kernel Debugger 2.6.27-rc4 released |
| Greg Kroah-Hartman | [PATCH 021/196] ISDN: Convert from class_device to device for ISDN capi |
| Ingo Molnar | Re: [PATCH 00/23] per device dirty throttling -v8 |
git: | |
| Linus Torvalds | Re: VCS comparison table |
| Peter Stahlir | Git as a filesystem |
| Johannes Schindelin | Re: git on MacOSX and files with decomposed utf-8 file names |
| Bill Lear | Meaning of "fatal: protocol error: bad line length character"? |
| Mayuresh Kathe | Re: What is our ultimate goal?? |
| Richard Stallman | Real men don't attack straw men |
| bofh | Re: web development on OpenBSD |
| Kevin | uvm_mapent_alloc: out of static map entries on 4.3 i386 |
| Mark Lord | Re: 2.6.25-rc8: FTP transfer errors |
| Evgeniy Polyakov | Re: [BUG] New Kernel Bugs |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andi Kleen | [PATCH RFC] [1/9] Core module symbol namespaces code and intro. |
