Linux Container Development
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
To: Matt Helsley <matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Containers
	<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
Subject: Re: containerized syslog
Date: Sat, 13 Feb 2010 10:05:15 -0600	[thread overview]
Message-ID: <20100213160515.GA2255@hallyn.com> (raw)
In-Reply-To: <20100213155813.GU3714-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>

Quoting Matt Helsley (matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org):
> On Thu, Feb 11, 2010 at 01:29:52PM -0600, Serge E. Hallyn wrote:
> > Quoting Jean-Marc Pigeon (jmp-4qkeo2rQ0gg@public.gmane.org):
> > > Hello,
> > > 
> > > 
> > > > 
> > > > Thanks Jean-Marc.  But this really isn't doing most of what I'd
> > > > recommended in my last emails (both public and private.  In
> > > > particular:
> > > [....]	
> > > > 
> > > > syslog_ns should be moved into nsproxy and unshared with a
> > > > separate clone(CLONE_SYSLOG);
> > > 	This this not a problem.
> > > 	My understanding a new clone flag was not an option
> > > 	as we are short in CLONE flag.
> > > 	No design nor arch problem if we set  CLONE_SYSLOG
> > > 	to be 0x100000000  ?????
> > > 
> > > 	If moved in nsproxy what is the hook to
> > > 	get the "current context". (used current_user_ns()
> > > 	as it was in user_namespace).
> > > 
> > > 
> > > [...]	
> > > 
> > > > That was why I suggested:
> > > [...]
> > > > >! 4. take a printk call like the iptables ones you want and turn
> > > > >! int into nsprintk syscall.
> > > > >! 
> > > 
> > > 	If my understanding is right you propose to use a
> > > 	special nsprintk to be used by iptable such
> > > 	we can send "packet log" in "container context"
> > > 	Right?
> > > 
> > > 	Logic is weak.
> > 
> > No logic is irrefutable :)  Because:
> > 
> > > 	1)
> > > 	The way I changed printk, so far, make of it a "de facto"
> > > 	nsprintk. So when called from netfilter, nsprintk
> > > 	is still stay in HOST: context. My understanding,
> > 
> > No, it could be called from the context of a task in any
> > random container.
> 
> Your comments seem good. However, I do have an issue with the
> idea of finding a single syslog corresponding to the netns for
> a hypothetical printk in iptables.
> 
> What happens with:
> 
> /* in init_syslog_ns */
> clone(CLONE_SYSLOG) /* syslog_ns 1 */
> clone(CLONE_SYSLOG) /* syslog_ns 2 */
> <do something with iptables in the netns which triggers a printk>
> 
> Even though that same printk is relevant to three "syslogs", it'll
> only go to one, correct? If so, my feeling is that nsprintk
> shouldn't take a syslog_ns directly. It should take some other
> form of namespace and then write to the syslog of all the
> nsproxies which share that namespace (a netns in this case).

Could do that - but I think it'd be fair to just keep track of
a single netns->syslog_ns, namely the one which corresponded
to the netns when netns was created.

Don't allow unshare of syslog_ns, only clone.  That ensures that
the init task in a container will always be tied to the same
net, pid, and syslog namespaces, giving us a point of sanity.

-serge

  parent reply	other threads:[~2010-02-13 16:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1265915683.19130.166.camel@Mercier.safe.ca>
     [not found] ` <1265915683.19130.166.camel-4BUXZ/Ty1v7iqR6jatDSCA@public.gmane.org>
2010-02-11 19:29   ` containerized syslog Serge E. Hallyn
     [not found]     ` <20100211192952.GA20191-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-02-13 15:58       ` Matt Helsley
     [not found]         ` <20100213155813.GU3714-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2010-02-13 16:03           ` Matt Helsley
2010-02-13 16:05           ` Serge E. Hallyn [this message]
2010-05-12 14:57 Containerized syslog Jean-Philippe Menil

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=20100213160515.GA2255@hallyn.com \
    --to=serge-a9i7lubdfnhqt0dzr+alfa@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=matthltc-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.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