* selinux and AFS [not found] <Pine.SOL.3.95.1010723090133.3466D-100000@clipper.gw.tislabs.com> @ 2001-08-08 17:56 ` Forrest Whitcher 2001-08-08 18:19 ` Stephen Smalley 0 siblings, 1 reply; 2+ messages in thread From: Forrest Whitcher @ 2001-08-08 17:56 UTC (permalink / raw) To: Stephen Smalley, SE Linux list Stephen et al. I imagine you've had enough 'progress' reports from me, however I *think* I have figured out the cause of the failure in getting openAFS to run under the selinux kernel (2.2.19). Diagnostics on attempting mount were: >From afsd: --afsd: Mounting the AFS root on '/afs', flags: 0. --afsd: Can't mount AFS on /afs(22) >From the kernel: --security_compute_av: unrecognized SID 0 --psid_release: uninitialized super block I traced the return call error (EINVAL) to two places. First in super.c lines 973, 981 - psid_release when afs attempts the mount. Second in security/services.c at lines 727, 278 - security_compute_av. I then modified the former to never return an error code, thus allowing the mount to proceed. At this point, every attempt to touch an object at or below the /afs root results in a repetition of the last diagnostic --security_compute_av: unrecognized SID 0 (in these instances it is failing on the 'tsid' lookup- services.c l 278; in the mount attempt it is the ssid lookup - services.c l 272) obviously I can 'echo /*' and see that the afs dir is there, however the above error is returned by any attempt to actually read data from the filesystem (ls || stat || ...) Although I have not had time to further trace into the kernel sources (spent some time digging, but other things came up).. I believe I have a good guess about what's causing the problem. AFS identifies the inode of the 'AFS' type filesystem (mounted on /afs) as '0'. Is it likely that your routines are seeing the '0' inode number and giving up / returning the errors to the callers? Thanks for any comments, I will have time later in the month to delve into this further, meantime, I'd hope to understand the hangup prior to heading down to DC next week for the security symp. -- Forrest Whitcher Principal FW Systems 617.254.3506 fw@fwsystems.com fw@world.std.com 6174803245@mobile.att.net Information systems consulting http://www.fwsystems.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: selinux and AFS 2001-08-08 17:56 ` selinux and AFS Forrest Whitcher @ 2001-08-08 18:19 ` Stephen Smalley 0 siblings, 0 replies; 2+ messages in thread From: Stephen Smalley @ 2001-08-08 18:19 UTC (permalink / raw) To: Forrest Whitcher; +Cc: SE Linux list On Wed, 8 Aug 2001, Forrest Whitcher wrote: > >From the kernel: > --security_compute_av: unrecognized SID 0 > --psid_release: uninitialized super block > > First in super.c lines 973, 981 - psid_release when afs attempts > the mount. Ok, so this suggests that the AVC_HAS_PERM call on line 971 of super.c passed a 0 for sb->s_sid. So how was the super_block structure allocated? If it was allocated by get_empty_super in fs/super.c, then it should have the unlabeled SID (SECINITSID_UNLABELED), which is not 0. So I don't know why this would be 0. > I then modified the former to never return an error code, thus > allowing the mount to proceed. At this point, every attempt to > touch an object at or below the /afs root results in a repetition > of the last diagnostic > > --security_compute_av: unrecognized SID 0 So, how are the inode structures allocated for AFS? If they use get_empty_inode or get_new_inode, then clean_inode initializes the inode to the unlabeled SID. Again, this shouldn't be zero. > in the mount attempt it is the ssid lookup - services.c l 272) That's surprising. The 'ssid' for the mount check would be current->sid - the SID of the current process. That is set for the initial task, inherited by fork, and potentially changed on execve in accordance with the policy. So I don't know how you are ending up with a 0 SID here. > AFS identifies the inode of the 'AFS' type filesystem (mounted > on /afs) as '0'. Is it likely that your routines are seeing the > '0' inode number and giving up / returning the errors to the > callers? Shouldn't matter. The filesystem and inodes should show up with the unlabeled SID, and hence system_u:object_r:unlabeled_t. -- Stephen D. Smalley, NAI Labs ssmalley@nai.com -- You have received this message because you are subscribed to the selinux list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-08-08 18:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.SOL.3.95.1010723090133.3466D-100000@clipper.gw.tislabs.com>
2001-08-08 17:56 ` selinux and AFS Forrest Whitcher
2001-08-08 18:19 ` Stephen Smalley
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.