<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/security/selinux, branch v3.0.28</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/security/selinux?h=v3.0.28</id>
<link rel='self' href='https://git.amat.us/linux/atom/security/selinux?h=v3.0.28'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-01-06T22:13:52Z</updated>
<entry>
<title>SELinux: Fix RCU deref check warning in sel_netport_insert()</title>
<updated>2012-01-06T22:13:52Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2011-12-13T14:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=52367e4731f577370011910c06cb428df55d054b'/>
<id>urn:sha1:52367e4731f577370011910c06cb428df55d054b</id>
<content type='text'>
commit 50345f1ea9cda4618d9c26e590a97ecd4bc7ac75 upstream.

Fix the following bug in sel_netport_insert() where rcu_dereference() should
be rcu_dereference_protected() as sel_netport_lock is held.

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
security/selinux/netport.c:127 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
1 lock held by ossec-rootcheck/3323:
 #0:  (sel_netport_lock){+.....}, at: [&lt;ffffffff8117d775&gt;] sel_netport_sid+0xbb/0x226

stack backtrace:
Pid: 3323, comm: ossec-rootcheck Not tainted 3.1.0-rc8-fsdevel+ #1095
Call Trace:
 [&lt;ffffffff8105cfb7&gt;] lockdep_rcu_dereference+0xa7/0xb0
 [&lt;ffffffff8117d871&gt;] sel_netport_sid+0x1b7/0x226
 [&lt;ffffffff8117d6ba&gt;] ? sel_netport_avc_callback+0xbc/0xbc
 [&lt;ffffffff8117556c&gt;] selinux_socket_bind+0x115/0x230
 [&lt;ffffffff810a5388&gt;] ? might_fault+0x4e/0x9e
 [&lt;ffffffff810a53d1&gt;] ? might_fault+0x97/0x9e
 [&lt;ffffffff81171cf4&gt;] security_socket_bind+0x11/0x13
 [&lt;ffffffff812ba967&gt;] sys_bind+0x56/0x95
 [&lt;ffffffff81380dac&gt;] ? sysret_check+0x27/0x62
 [&lt;ffffffff8105b767&gt;] ? trace_hardirqs_on_caller+0x11e/0x155
 [&lt;ffffffff81076fcd&gt;] ? audit_syscall_entry+0x17b/0x1ae
 [&lt;ffffffff811b5eae&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [&lt;ffffffff81380d7b&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Paul Moore &lt;paul@paul-moore.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.infradead.org/users/eparis/selinux into for-linus</title>
<updated>2011-06-14T23:41:48Z</updated>
<author>
<name>James Morris</name>
<email>jmorris@namei.org</email>
</author>
<published>2011-06-14T23:41:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82b88bb24e28dd4fb4bec30e75412f41326130f0'/>
<id>urn:sha1:82b88bb24e28dd4fb4bec30e75412f41326130f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SELinux: skip file_name_trans_write() when policy downgraded.</title>
<updated>2011-06-14T16:58:51Z</updated>
<author>
<name>Roy.Li</name>
<email>rongqing.li@windriver.com</email>
</author>
<published>2011-05-20T02:38:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ded509880f6a0213b09f8ae7bef84acb16eaccbf'/>
<id>urn:sha1:ded509880f6a0213b09f8ae7bef84acb16eaccbf</id>
<content type='text'>
When policy version is less than POLICYDB_VERSION_FILENAME_TRANS,
skip file_name_trans_write().

Signed-off-by: Roy.Li &lt;rongqing.li@windriver.com&gt;
Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>selinux: simplify and clean up inode_has_perm()</title>
<updated>2011-06-08T22:11:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-08T22:11:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=95f4efb2d78661065aaf0be57f5bf00e4d2aea1d'/>
<id>urn:sha1:95f4efb2d78661065aaf0be57f5bf00e4d2aea1d</id>
<content type='text'>
This is a rather hot function that is called with a potentially NULL
"struct common_audit_data" pointer argument.  And in that case it has to
provide and initialize its own dummy common_audit_data structure.

However, all the _common_ cases already pass it a real audit-data
structure, so that uncommon NULL case not only creates a silly run-time
test, more importantly it causes that function to have a big stack frame
for the dummy variable that isn't even used in the common case!

So get rid of that stupid run-time behavior, and make the (few)
functions that currently call with a NULL pointer just call a new helper
function instead (naturally called inode_has_perm_noapd(), since it has
no adp argument).

This makes the run-time test be a static code generation issue instead,
and allows for a much denser stack since none of the common callers need
the dummy structure.  And a denser stack not only means less stack space
usage, it means better cache behavior.  So we have a win-win-win from
this simplification: less code executed, smaller stack footprint, and
better cache behavior.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>selinux: don't pass in NULL avd to avc_has_perm_noaudit</title>
<updated>2011-05-27T01:13:57Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-24T20:48:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f01e1af445fac107e91d62a2d59dd535f633810b'/>
<id>urn:sha1:f01e1af445fac107e91d62a2d59dd535f633810b</id>
<content type='text'>
Right now security_get_user_sids() will pass in a NULL avd pointer to
avc_has_perm_noaudit(), which then forces that function to have a dummy
entry for that case and just generally test it.

Don't do it.  The normal callers all pass a real avd pointer, and this
helper function is incredibly hot.  So don't make avc_has_perm_noaudit()
do conditional stuff that isn't needed for the common case.

This also avoids some duplicated stack space.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>selinux: fix case of names with whitespace/multibytes on /selinux/create</title>
<updated>2011-05-26T21:20:53Z</updated>
<author>
<name>Kohei Kaigai</name>
<email>Kohei.Kaigai@emea.nec.com</email>
</author>
<published>2011-05-26T18:59:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f7e4c33eb2c40b1e9cc24d2eab6de5921bc619c'/>
<id>urn:sha1:0f7e4c33eb2c40b1e9cc24d2eab6de5921bc619c</id>
<content type='text'>
I submit the patch again, according to patch submission convension.

This patch enables to accept percent-encoded object names as forth
argument of /selinux/create interface to avoid possible bugs when we
give an object name including whitespace or multibutes.

E.g) if and when a userspace object manager tries to create a new object
 named as "resolve.conf but fake", it shall give this name as the forth
 argument of the /selinux/create. But sscanf() logic in kernel space
 fetches only the part earlier than the first whitespace.
 In this case, selinux may unexpectedly answer a default security context
 configured to "resolve.conf", but it is bug.

Although I could not test this patch on named TYPE_TRANSITION rules
actually, But debug printk() message seems to me the logic works
correctly.
I assume the libselinux provides an interface to apply this logic
transparently, so nothing shall not be changed from the viewpoint of
application.

Signed-off-by: KaiGai Kohei &lt;kohei.kaigai@emea.nec.com&gt;
Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.39' into 20110526</title>
<updated>2011-05-26T21:20:14Z</updated>
<author>
<name>Eric Paris</name>
<email>eparis@redhat.com</email>
</author>
<published>2011-05-26T21:20:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea77f7a2e8561012cf100c530170f12351c3b53e'/>
<id>urn:sha1:ea77f7a2e8561012cf100c530170f12351c3b53e</id>
<content type='text'>
Conflicts:
	lib/flex_array.c
	security/selinux/avc.c
	security/selinux/hooks.c
	security/selinux/ss/policydb.c
	security/smack/smack_lsm.c
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.infradead.org/users/eparis/selinux into for-linus</title>
<updated>2011-05-24T13:20:19Z</updated>
<author>
<name>James Morris</name>
<email>jmorris@namei.org</email>
</author>
<published>2011-05-24T13:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b7b57551bbda1390959207f79f2038aa7adb72ae'/>
<id>urn:sha1:b7b57551bbda1390959207f79f2038aa7adb72ae</id>
<content type='text'>
Conflicts:
	lib/flex_array.c
	security/selinux/avc.c
	security/selinux/hooks.c
	security/selinux/ss/policydb.c
	security/smack/smack_lsm.c

Manually resolve conflicts.

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/jikos/trivial</title>
<updated>2011-05-23T16:12:26Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-23T16:12:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57d19e80f459dd845fb3cfeba8e6df8471bac142'/>
<id>urn:sha1:57d19e80f459dd845fb3cfeba8e6df8471bac142</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
  b43: fix comment typo reqest -&gt; request
  Haavard Skinnemoen has left Atmel
  cris: typo in mach-fs Makefile
  Kconfig: fix copy/paste-ism for dell-wmi-aio driver
  doc: timers-howto: fix a typo ("unsgined")
  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
  md, raid5: Fix spelling error in comment ('Ofcourse' --&gt; 'Of course').
  treewide: fix a few typos in comments
  regulator: change debug statement be consistent with the style of the rest
  Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
  audit: acquire creds selectively to reduce atomic op overhead
  rtlwifi: don't touch with treewide double semicolon removal
  treewide: cleanup continuations and remove logging message whitespace
  ath9k_hw: don't touch with treewide double semicolon removal
  include/linux/leds-regulator.h: fix syntax in example code
  tty: fix typo in descripton of tty_termios_encode_baud_rate
  xtensa: remove obsolete BKL kernel option from defconfig
  m68k: fix comment typo 'occcured'
  arch:Kconfig.locks Remove unused config option.
  treewide: remove extra semicolons
  ...
</content>
</entry>
<entry>
<title>selinux: avoid unnecessary avc cache stat hit count</title>
<updated>2011-05-20T04:22:53Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-20T04:22:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=257313b2a87795e07a0bdf58d0fffbdba8b31051'/>
<id>urn:sha1:257313b2a87795e07a0bdf58d0fffbdba8b31051</id>
<content type='text'>
There is no point in counting hits - we can calculate it from the number
of lookups and misses.

This makes the avc statistics a bit smaller, and makes the code
generation better too.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
