<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/security, branch v2.6.24-rc4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/security?h=v2.6.24-rc4</id>
<link rel='self' href='https://git.amat.us/linux/atom/security?h=v2.6.24-rc4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-11-29T17:24:53Z</updated>
<entry>
<title>file capabilities: don't prevent signaling setuid root programs</title>
<updated>2007-11-29T17:24:53Z</updated>
<author>
<name>Serge E. Hallyn</name>
<email>serue@us.ibm.com</email>
</author>
<published>2007-11-29T00:21:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8ec2328f1138a58eaea55ec6150985a1623b01c5'/>
<id>urn:sha1:8ec2328f1138a58eaea55ec6150985a1623b01c5</id>
<content type='text'>
An unprivileged process must be able to kill a setuid root program started
by the same user.  This is legacy behavior needed for instance for xinit to
kill X when the window manager exits.

When an unprivileged user runs a setuid root program in !SECURE_NOROOT
mode, fP, fI, and fE are set full on, so pP' and pE' are full on.  Then
cap_task_kill() prevents the user from signaling the setuid root task.
This is a change in behavior compared to when
!CONFIG_SECURITY_FILE_CAPABILITIES.

This patch introduces a special check into cap_task_kill() just to check
whether a non-root user is signaling a setuid root program started by the
same user.  If so, then signal is allowed.

Signed-off-by: Serge E. Hallyn &lt;serue@us.ibm.com&gt;
Cc: Andrew Morgan &lt;morgan@kernel.org&gt;
Cc: Stephen Smalley &lt;sds@epoch.ncsc.mil&gt;
Cc: Chris Wright &lt;chrisw@sous-sol.org&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Cc: Casey Schaufler &lt;casey@schaufler-ca.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>file capabilities: allow sigcont within session</title>
<updated>2007-11-15T02:45:44Z</updated>
<author>
<name>Serge E. Hallyn</name>
<email>serue@us.ibm.com</email>
</author>
<published>2007-11-15T01:00:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=91ad997a34d7abca1f04e819e31eb9f3d4e20585'/>
<id>urn:sha1:91ad997a34d7abca1f04e819e31eb9f3d4e20585</id>
<content type='text'>
Fix http://bugzilla.kernel.org/show_bug.cgi?id=9247

Allow sigcont to be sent to a process with greater capabilities if it is in
the same session.  Otherwise, a shell from which I've started a root shell
and done 'suspend' can't be restarted by the parent shell.

Also don't do file-capabilities signaling checks when uids for the
processes don't match, since the standard check_kill_permission will have
done those checks.

[akpm@linux-foundation.org: coding-style cleanups]
Signed-off-by: Serge E. Hallyn &lt;serue@us.ibm.com&gt;
Acked-by: Andrew Morgan &lt;morgan@kernel.org&gt;
Cc: Chris Wright &lt;chrisw@sous-sol.org&gt;
Tested-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Stephen Smalley &lt;sds@epoch.ncsc.mil&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Chris Wright &lt;chrisw@sous-sol.org&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Cc: Stephen Smalley &lt;sds@tycho.nsa.gov&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>SELinux: add more validity checks on policy load</title>
<updated>2007-11-07T21:56:23Z</updated>
<author>
<name>Stephen Smalley</name>
<email>sds@tycho.nsa.gov</email>
</author>
<published>2007-11-07T15:08:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=45e5421eb5bbcd9efa037d682dd357284e3ef982'/>
<id>urn:sha1:45e5421eb5bbcd9efa037d682dd357284e3ef982</id>
<content type='text'>
Add more validity checks at policy load time to reject malformed
policies and prevent subsequent out-of-range indexing when in permissive
mode.  Resolves the NULL pointer dereference reported in
https://bugzilla.redhat.com/show_bug.cgi?id=357541.

Signed-off-by:  Stephen Smalley &lt;sds@tycho.nsa.gov&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>SELinux: fix bug in new ebitmap code.</title>
<updated>2007-11-07T21:55:10Z</updated>
<author>
<name>KaiGai Kohei</name>
<email>kaigai@kaigai.gr.jp</email>
</author>
<published>2007-11-06T16:17:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6d2b685564ba417f4c6d80c3661f0dfee13fff85'/>
<id>urn:sha1:6d2b685564ba417f4c6d80c3661f0dfee13fff85</id>
<content type='text'>
The "e_iter = e_iter-&gt;next;" statement in the inner for loop is primally
bug.  It should be moved to outside of the for loop.

Signed-off-by: KaiGai Kohei &lt;kaigai@kaigai.gr.jp&gt;
Acked-by:  Stephen Smalley &lt;sds@tycho.nsa.gov&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>SELinux: suppress a warning for 64k pages.</title>
<updated>2007-11-07T21:55:04Z</updated>
<author>
<name>Stephen Rothwell</name>
<email>sfr@canb.auug.org.au</email>
</author>
<published>2007-10-31T05:47:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57002bfb31283e84f694763ed4db0fb761b7d6a9'/>
<id>urn:sha1:57002bfb31283e84f694763ed4db0fb761b7d6a9</id>
<content type='text'>
On PowerPC allmodconfig build we get this:

security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6</title>
<updated>2007-10-23T15:59:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@woody.linux-foundation.org</email>
</author>
<published>2007-10-23T15:59:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48d2268473a66fe3aa78fb13b09ee59d6ee95073'/>
<id>urn:sha1:48d2268473a66fe3aa78fb13b09ee59d6ee95073</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  SELinux: always check SIGCHLD in selinux_task_wait
</content>
</entry>
<entry>
<title>SELinux: always check SIGCHLD in selinux_task_wait</title>
<updated>2007-10-22T22:47:48Z</updated>
<author>
<name>Eric Paris</name>
<email>eparis@redhat.com</email>
</author>
<published>2007-10-22T20:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8a53514043e380aa573baa805298a7727c993985'/>
<id>urn:sha1:8a53514043e380aa573baa805298a7727c993985</id>
<content type='text'>
When checking if we can wait on a child we were looking at
p-&gt;exit_signal and trying to make the decision based on if the signal
would eventually be allowed.  One big flaw is that p-&gt;exit_signal is -1
for NPTL threads and so aignal_to_av was not actually checking SIGCHLD
which is what would have been sent.  Even is exit_signal was set to
something strange it wouldn't change the fact that the child was there
and needed to be waited on.  This patch just assumes wait is based on
SIGCHLD.  Specific permission checks are made when the child actually
attempts to send a signal.

This resolves the problem of things like using GDB on confined domains
such as in RH BZ 232371.  The confined domain did not have permission to
send a generic signal (exit_signal == -1) back to the unconfined GDB.
With this patch the GDB wait works and since the actual signal sent is
allowed everything functions as it should.

Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>capabilities: clean up file capability reading</title>
<updated>2007-10-22T15:13:18Z</updated>
<author>
<name>Serge E. Hallyn</name>
<email>serue@us.ibm.com</email>
</author>
<published>2007-10-21T23:41:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b68680e4731abbd78863063aaa0dca2a6d8cc723'/>
<id>urn:sha1:b68680e4731abbd78863063aaa0dca2a6d8cc723</id>
<content type='text'>
Simplify the vfs_cap_data structure.

Also fix get_file_caps which was declaring
__le32 v1caps[XATTR_CAPS_SZ] on the stack, but
XATTR_CAPS_SZ is already * sizeof(__le32).

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Serge E. Hallyn &lt;serue@us.ibm.com&gt;
Cc: Andrew Morgan &lt;morgan@kernel.org&gt;
Cc: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>pid namespaces: define is_global_init() and is_container_init()</title>
<updated>2007-10-19T18:53:37Z</updated>
<author>
<name>Serge E. Hallyn</name>
<email>serue@us.ibm.com</email>
</author>
<published>2007-10-19T06:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b460cbc581a53cc088ceba80608021dd49c63c43'/>
<id>urn:sha1:b460cbc581a53cc088ceba80608021dd49c63c43</id>
<content type='text'>
is_init() is an ambiguous name for the pid==1 check.  Split it into
is_global_init() and is_container_init().

A cgroup init has it's tsk-&gt;pid == 1.

A global init also has it's tsk-&gt;pid == 1 and it's active pid namespace
is the init_pid_ns.  But rather than check the active pid namespace,
compare the task structure with 'init_pid_ns.child_reaper', which is
initialized during boot to the /sbin/init process and never changes.

Changelog:

	2.6.22-rc4-mm2-pidns1:
	- Use 'init_pid_ns.child_reaper' to determine if a given task is the
	  global init (/sbin/init) process. This would improve performance
	  and remove dependence on the task_pid().

	2.6.21-mm2-pidns2:

	- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,
	  ppc,avr32}/traps.c for the _exception() call to is_global_init().
	  This way, we kill only the cgroup if the cgroup's init has a
	  bug rather than force a kernel panic.

[akpm@linux-foundation.org: fix comment]
[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]
[bunk@stusta.de: kernel/pid.c: remove unused exports]
[sukadev@us.ibm.com: Fix capability.c to work with threaded init]
Signed-off-by: Serge E. Hallyn &lt;serue@us.ibm.com&gt;
Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@us.ibm.com&gt;
Acked-by: Pavel Emelianov &lt;xemul@openvz.org&gt;
Cc: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Cc: Cedric Le Goater &lt;clg@fr.ibm.com&gt;
Cc: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Cc: Herbert Poetzel &lt;herbert@13thfloor.at&gt;
Cc: Kirill Korotaev &lt;dev@sw.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sparse pointer use of zero as null</title>
<updated>2007-10-18T21:37:31Z</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux-foundation.org</email>
</author>
<published>2007-10-18T10:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c80544dc0b87bb65038355e7aafdc30be16b26ab'/>
<id>urn:sha1:c80544dc0b87bb65038355e7aafdc30be16b26ab</id>
<content type='text'>
Get rid of sparse related warnings from places that use integer as NULL
pointer.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Cc: Andi Kleen &lt;ak@suse.de&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: Ian Kent &lt;raven@themaw.net&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Davide Libenzi &lt;davidel@xmailserver.org&gt;
Cc: Stephen Smalley &lt;sds@tycho.nsa.gov&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
