<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/lib, branch linux-2.6.39.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.39.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.39.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2011-07-09T06:15:22Z</updated>
<entry>
<title>debugobjects: Fix boot crash when kmemleak and debugobjects enabled</title>
<updated>2011-07-09T06:15:22Z</updated>
<author>
<name>Marcin Slusarz</name>
<email>marcin.slusarz@gmail.com</email>
</author>
<published>2011-05-28T11:23:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=11c30d19fccd0f63f447b20588b84c1deb059745'/>
<id>urn:sha1:11c30d19fccd0f63f447b20588b84c1deb059745</id>
<content type='text'>
commit 161b6ae0e067e421b20bb35caf66bdb405c929ac upstream.

Order of initialization look like this:
...
debugobjects
kmemleak
...(lots of other subsystems)...
workqueues (through early initcall)
...

debugobjects use schedule_work for batch freeing of its data and kmemleak
heavily use debugobjects, so when it comes to freeing and workqueues were
not initialized yet, kernel crashes:

BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [&lt;ffffffff810854d1&gt;] __queue_work+0x29/0x41a
 [&lt;ffffffff81085910&gt;] queue_work_on+0x16/0x1d
 [&lt;ffffffff81085abc&gt;] queue_work+0x29/0x55
 [&lt;ffffffff81085afb&gt;] schedule_work+0x13/0x15
 [&lt;ffffffff81242de1&gt;] free_object+0x90/0x95
 [&lt;ffffffff81242f6d&gt;] debug_check_no_obj_freed+0x187/0x1d3
 [&lt;ffffffff814b6504&gt;] ? _raw_spin_unlock_irqrestore+0x30/0x4d
 [&lt;ffffffff8110bd14&gt;] ? free_object_rcu+0x68/0x6d
 [&lt;ffffffff8110890c&gt;] kmem_cache_free+0x64/0x12c
 [&lt;ffffffff8110bd14&gt;] free_object_rcu+0x68/0x6d
 [&lt;ffffffff810b58bc&gt;] __rcu_process_callbacks+0x1b6/0x2d9
...

because system_wq is NULL.

Fix it by checking if workqueues susbystem was initialized before using.

Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Dipankar Sarma &lt;dipankar@in.ibm.com&gt;
Cc: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Link: http://lkml.kernel.org/r/20110528112342.GA3068@joi.lan
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>rcu: Fix unpaired rcu_irq_enter() from locking selftests</title>
<updated>2011-06-03T00:32:09Z</updated>
<author>
<name>Frederic Weisbecker</name>
<email>fweisbec@gmail.com</email>
</author>
<published>2011-05-20T00:09:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=83d325137dd93da7227b80a477c075f7cb1c0c54'/>
<id>urn:sha1:83d325137dd93da7227b80a477c075f7cb1c0c54</id>
<content type='text'>
commit ba9f207c9f82115aba4ce04b22e0081af0ae300f upstream.

HARDIRQ_ENTER() maps to irq_enter() which calls rcu_irq_enter().
But HARDIRQ_EXIT() maps to __irq_exit() which doesn't call
rcu_irq_exit().

So for every locking selftest that simulates hardirq disabled,
we create an imbalance in the rcu extended quiescent state
internal state.

As a result, after the first missing rcu_irq_exit(), subsequent
irqs won't exit dyntick-idle mode after leaving the interrupt
handler.  This means that RCU won't see the affected CPU as being
in an extended quiescent state, resulting in long grace-period
delays (as in grace periods extending for hours).

To fix this, just use __irq_enter() to simulate the hardirq
context. This is sufficient for the locking selftests as we
don't need to exit any extended quiescent state or perform
any check that irqs normally do when they wake up from idle.

As a side effect, this patch makes it possible to restore
"rcu: Decrease memory-barrier usage based on semi-formal proof",
which eventually helped finding this bug.

Reported-and-tested-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Cc: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>vsprintf: Turn kptr_restrict off by default</title>
<updated>2011-05-12T22:18:16Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2011-05-12T21:00:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=411f05f123cbd7f8aa1edcae86970755a6e2a9d9'/>
<id>urn:sha1:411f05f123cbd7f8aa1edcae86970755a6e2a9d9</id>
<content type='text'>
kptr_restrict has been triggering bugs in apps such as perf, and it also makes
the system less useful by default, so turn it off by default.

This is how we generally handle security features that remove functionality,
such as firewall code or SELinux - they have to be configured and activated
from user-space.

Distributions can turn kptr_restrict on again via this line in
/etc/sysctrl.conf:

kernel.kptr_restrict = 1

( Also mark the variable __read_mostly while at it, as it's typically modified
  only once per bootup, or not at all. )

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.infradead.org/users/eparis/selinux into for-linus</title>
<updated>2011-05-04T01:59:34Z</updated>
<author>
<name>James Morris</name>
<email>jmorris@namei.org</email>
</author>
<published>2011-05-04T01:59:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6f239284542bae297d27355d06afbb8df23c5db9'/>
<id>urn:sha1:6f239284542bae297d27355d06afbb8df23c5db9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>XZ decompressor: Fix decoding of empty LZMA2 streams</title>
<updated>2011-05-02T15:46:12Z</updated>
<author>
<name>Lasse Collin</name>
<email>lasse.collin@tukaani.org</email>
</author>
<published>2011-05-01T16:38:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=646032e3b05b32d3f20cb108a030593d9d792eb5'/>
<id>urn:sha1:646032e3b05b32d3f20cb108a030593d9d792eb5</id>
<content type='text'>
The old code considered valid empty LZMA2 streams to be corrupt.
Note that a typical empty .xz file has no LZMA2 data at all,
and thus most .xz files having no uncompressed data are handled
correctly even without this fix.

Signed-off-by: Lasse Collin &lt;lasse.collin@tukaani.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>flex_arrays: allow zero length flex arrays</title>
<updated>2011-04-28T20:12:54Z</updated>
<author>
<name>Eric Paris</name>
<email>eparis@redhat.com</email>
</author>
<published>2011-04-28T19:55:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bf69d41d198138e3c601e9a6645f4f1369aff7e0'/>
<id>urn:sha1:bf69d41d198138e3c601e9a6645f4f1369aff7e0</id>
<content type='text'>
Just like kmalloc will allow one to allocate a 0 length segment of memory
flex arrays should do the same thing.  It should bomb if you try to use
something, but it should at least allow the allocation.

This is needed because when SELinux switched to using flex_arrays in 2.6.38
the inability to allocate a 0 length array resulted in SELinux policy load
returning -ENOSPC when previously it worked.

Based-on-patch-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
Tested-by: Chris Richards &lt;gizmo@giz-works.com&gt;
Cc: stable@kernel.org [2.6.38+]
</content>
</entry>
<entry>
<title>flex_array: flex_array_prealloc takes a number of elements, not an end</title>
<updated>2011-04-28T20:12:47Z</updated>
<author>
<name>Eric Paris</name>
<email>eparis@redhat.com</email>
</author>
<published>2011-04-28T19:55:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5d30b10bd68df007e7ae21e77d1e0ce184b53040'/>
<id>urn:sha1:5d30b10bd68df007e7ae21e77d1e0ce184b53040</id>
<content type='text'>
Change flex_array_prealloc to take the number of elements for which space
should be allocated instead of the last (inclusive) element. Users
and documentation are updated accordingly.  flex_arrays got introduced before
they had users.  When folks started using it, they ended up needing a
different API than was coded up originally.  This swaps over to the API that
folks apparently need.

Based-on-patch-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: Eric Paris &lt;eparis@redhat.com&gt;
Tested-by: Chris Richards &lt;gizmo@giz-works.com&gt;
Acked-by: Dave Hansen &lt;dave@linux.vnet.ibm.com&gt;
Cc: stable@kernel.org [2.6.38+]
</content>
</entry>
<entry>
<title>kstrtox: simpler code in _kstrtoull()</title>
<updated>2011-04-14T23:06:55Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2011-04-14T22:22:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=78be959e38567f0e020848179a5d64d2b064391a'/>
<id>urn:sha1:78be959e38567f0e020848179a5d64d2b064391a</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.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>kstrtox: fix compile warnings in test</title>
<updated>2011-04-14T23:06:54Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2011-04-14T22:22:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=01eda2e0c0cf035308308a19581e4979285b51ec'/>
<id>urn:sha1:01eda2e0c0cf035308308a19581e4979285b51ec</id>
<content type='text'>
Fix the following warnings:

    CC [M]  lib/test-kstrtox.o
  lib/test-kstrtox.c: In function 'test_kstrtou64_ok':
  lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90
	...

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Reported-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.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>Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6</title>
<updated>2011-04-07T18:14:49Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-04-07T18:14:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=42933bac11e811f02200c944d8562a15f8ec4ff0'/>
<id>urn:sha1:42933bac11e811f02200c944d8562a15f8ec4ff0</id>
<content type='text'>
* 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6:
  Fix common misspellings
</content>
</entry>
</feed>
