LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> To: serue@us.ibm.com Cc: akpm@linux-foundation.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, takedakn@nttdata.co.jp, haradats@nttdata.co.jp, penguin-kernel@i-love.sakura.ne.jp Subject: Re: [TOMOYO #12 (2.6.28-rc2-mm1) 06/11] Common functions for TOMOYOLinux. Date: Mon, 10 Nov 2008 12:30:01 +0900 [thread overview] Message-ID: <200811100330.mAA3U1Q6012264@www262.sakura.ne.jp> (raw) In-Reply-To: <20081110025245.GA28174@us.ibm.com> Hello. Serge E. Hallyn wrote: > > I need to clarify reachability of "struct task_struct". > > > > A process inside a virtualized environment cannot reach "struct task_struct" > > which belongs to outside the virtualized environment. > > > > A process outside virtualized environments can reach "struct task_struct" > > which belongs to inside virtualized environments, can't it? > > To be precise, there isn't a real 'inside' and 'outside' virtualized > environements. Rather pid namespaces are hierarchical. > So, processes which have non-topmost namespace cannot see processes which have topmost namespace (like chroot()). Then, it might be preferable if TOMOYO can prevent processes which have non-topmost namespace from modifying policy information. Do you think TOMOYO should do "current->nsproxy->pid_ns == &init_pid_ns" checking like below one? static bool tomoyo_is_policy_manager(void) { struct tomoyo_policy_manager_entry *ptr; const char *exe; const struct task_struct *task = current; const struct tomoyo_path_info *domainname = tomoyo_domain()->domainname; bool found = false; if (!tomoyo_policy_loaded) return true; if (!tomoyo_manage_by_non_root && (task->cred->uid || task->cred->euid)) return false; /* Don't allow modifying policy by processes not having init_pid_ns. */ if (task->nsproxy->pid_ns != &init_pid_ns) return false; list1_for_each_entry(ptr, &tomoyo_policy_manager_list, list) { if (!ptr->is_deleted && ptr->is_domain && !tomoyo_pathcmp(domainname, ptr->manager)) return true; } > (Taking another look) it looks like In is_select_one() you're doing the > right thing - you look up the domain of a task based on > find_task_by_vpid() on a passed-in pid. Seems correct. > I see, thanks.
next prev parent reply other threads:[~2008-11-10 3:30 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-11-04 6:08 [TOMOYO #12 (2.6.28-rc2-mm1) 00/11] TOMOYO Linux Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 01/11] Introduce security_path_clear() hook Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 02/11] Add in_execve flag into task_struct Kentaro Takeda 2008-11-05 23:12 ` Andrew Morton 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 03/11] Singly linked list implementation Kentaro Takeda 2008-11-05 23:12 ` Andrew Morton 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 04/11] Introduce d_realpath() Kentaro Takeda 2008-11-05 23:12 ` Andrew Morton 2008-11-17 6:52 ` Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 05/11] Memory and pathname management functions Kentaro Takeda 2008-11-05 23:12 ` Andrew Morton 2008-11-10 10:34 ` Kentaro Takeda 2008-11-11 5:04 ` Andrew Morton 2008-11-11 6:34 ` Kentaro Takeda 2008-11-11 6:46 ` Andrew Morton 2008-11-11 7:32 ` Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 06/11] Common functions for TOMOYO Linux Kentaro Takeda 2008-11-05 23:12 ` Andrew Morton 2008-11-06 21:46 ` [TOMOYO #12 (2.6.28-rc2-mm1) 06/11] Common functions for TOMOYOLinux Tetsuo Handa 2008-11-08 16:38 ` Tetsuo Handa 2008-11-10 0:41 ` Serge E. Hallyn 2008-11-10 2:24 ` Tetsuo Handa 2008-11-10 2:52 ` Serge E. Hallyn 2008-11-10 3:30 ` Tetsuo Handa [this message] 2008-11-10 14:00 ` Serge E. Hallyn 2008-11-10 10:35 ` [TOMOYO #12 (2.6.28-rc2-mm1) 06/11] Common functions for TOMOYO Linux Kentaro Takeda 2008-11-14 9:22 ` Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 07/11] File operation restriction part Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 08/11] Domain transition handler Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 09/11] LSM adapter functions Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 10/11] Kconfig and Makefile Kentaro Takeda 2008-11-04 6:08 ` [TOMOYO #12 (2.6.28-rc2-mm1) 11/11] MAINTAINERS info Kentaro Takeda
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=200811100330.mAA3U1Q6012264@www262.sakura.ne.jp \ --to=penguin-kernel@i-love.sakura.ne.jp \ --cc=akpm@linux-foundation.org \ --cc=haradats@nttdata.co.jp \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=serue@us.ibm.com \ --cc=takedakn@nttdata.co.jp \ /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: linkBe 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; as well as URLs for NNTP newsgroup(s).