<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel, branch v3.0-rc4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://www.git.shady.money/linux/atom?h=v3.0-rc4</id>
<link rel='self' href='https://www.git.shady.money/linux/atom?h=v3.0-rc4'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/'/>
<updated>2011-06-19T16:00:18Z</updated>
<entry>
<title>Merge branches 'perf-urgent-for-linus', 'sched-urgent-for-linus', 'timers-urgent-for-linus' and 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-06-19T16:00:18Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-19T16:00:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=8816ead9d8e7c2745788e0684797e1912b504f33'/>
<id>urn:sha1:8816ead9d8e7c2745788e0684797e1912b504f33</id>
<content type='text'>
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  tools/perf: Fix static build of perf tool
  tracing: Fix regression in printk_formats file

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  clocksource: Make watchdog robust vs. interruption
  timerfd: Fix wakeup of processes when timer is cancelled on clock change

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, MAINTAINERS: Add x86 MCE people
  x86, efi: Do not reserve boot services regions within reserved areas
</content>
</entry>
<entry>
<title>Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-06-19T15:56:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-19T15:56:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=357ed6b1a110048ff8106f99092d6c4a7aadb45a'/>
<id>urn:sha1:357ed6b1a110048ff8106f99092d6c4a7aadb45a</id>
<content type='text'>
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  rcu: Move RCU_BOOST #ifdefs to header file
  rcu: use softirq instead of kthreads except when RCU_BOOST=y
  rcu: Use softirq to address performance regression
  rcu: Simplify curing of load woes
</content>
</entry>
<entry>
<title>KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring</title>
<updated>2011-06-17T16:40:48Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2011-06-17T10:25:59Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=879669961b11e7f40b518784863a259f735a72bf'/>
<id>urn:sha1:879669961b11e7f40b518784863a259f735a72bf</id>
<content type='text'>
____call_usermodehelper() now erases any credentials set by the
subprocess_inf::init() function.  The problem is that commit
17f60a7da150 ("capabilites: allow the application of capability limits
to usermode helpers") creates and commits new credentials with
prepare_kernel_cred() after the call to the init() function.  This wipes
all keyrings after umh_keys_init() is called.

The best way to deal with this is to put the init() call just prior to
the commit_creds() call, and pass the cred pointer to init().  That
means that umh_keys_init() and suchlike can modify the credentials
_before_ they are published and potentially in use by the rest of the
system.

This prevents request_key() from working as it is prevented from passing
the session keyring it set up with the authorisation token to
/sbin/request-key, and so the latter can't assume the authority to
instantiate the key.  This causes the in-kernel DNS resolver to fail
with ENOKEY unconditionally.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Eric Paris &lt;eparis@redhat.com&gt;
Tested-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts</title>
<updated>2011-06-17T08:17:12Z</updated>
<author>
<name>Takao Indoh</name>
<email>indou.takao@jp.fujitsu.com</email>
</author>
<published>2011-03-29T16:35:04Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=d8ad7d1123a960cc9f276bd499f9325c6f5e1bd1'/>
<id>urn:sha1:d8ad7d1123a960cc9f276bd499f9325c6f5e1bd1</id>
<content type='text'>
There is a problem that kdump(2nd kernel) sometimes hangs up due
to a pending IPI from 1st kernel. Kernel panic occurs because IPI
comes before call_single_queue is initialized.

To fix the crash, rename init_call_single_data() to call_function_init()
and call it in start_kernel() so that call_single_queue can be
initialized before enabling interrupts.

The details of the crash are:

 (1) 2nd kernel boots up

 (2) A pending IPI from 1st kernel comes when irqs are first enabled
     in start_kernel().

 (3) Kernel tries to handle the interrupt, but call_single_queue
     is not initialized yet at this point. As a result, in the
     generic_smp_call_function_single_interrupt(), NULL pointer
     dereference occurs when list_replace_init() tries to access
     &amp;q-&gt;list.next.

Therefore this patch changes the name of init_call_single_data()
to call_function_init() and calls it before local_irq_enable()
in start_kernel().

Signed-off-by: Takao Indoh &lt;indou.takao@jp.fujitsu.com&gt;
Reviewed-by: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Acked-by: Vivek Goyal &lt;vgoyal@redhat.com&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Milton Miller &lt;miltonm@bga.com&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Cc: kexec@lists.infradead.org
Link: http://lkml.kernel.org/r/D6CBEE2F420741indou.takao@jp.fujitsu.com
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>rcu: Move RCU_BOOST #ifdefs to header file</title>
<updated>2011-06-16T23:12:05Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paul.mckenney@linaro.org</email>
</author>
<published>2011-06-16T15:26:32Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=f8b7fc6b514f34a51875dd48dff70d4d17a54f38'/>
<id>urn:sha1:f8b7fc6b514f34a51875dd48dff70d4d17a54f38</id>
<content type='text'>
The commit "use softirq instead of kthreads except when RCU_BOOST=y"
just applied #ifdef in place.  This commit is a cleanup that moves
the newly #ifdef'ed code to the header file kernel/rcutree_plugin.h.

Signed-off-by: Paul E. McKenney &lt;paul.mckenney@linaro.org&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>clocksource: Make watchdog robust vs. interruption</title>
<updated>2011-06-16T17:30:53Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-06-16T14:22:08Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=b5199515c25cca622495eb9c6a8a1d275e775088'/>
<id>urn:sha1:b5199515c25cca622495eb9c6a8a1d275e775088</id>
<content type='text'>
The clocksource watchdog code is interruptible and it has been
observed that this can trigger false positives which disable the TSC.

The reason is that an interrupt storm or a long running interrupt
handler between the read of the watchdog source and the read of the
TSC brings the two far enough apart that the delta is larger than the
unstable treshold. Move both reads into a short interrupt disabled
region to avoid that.

Reported-and-tested-by: Vernon Mauery &lt;vernux@us.ibm.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable@kernel.org
</content>
</entry>
<entry>
<title>rcu: use softirq instead of kthreads except when RCU_BOOST=y</title>
<updated>2011-06-16T06:07:21Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2011-06-15T22:47:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=a46e0899eec7a3069bcadd45dfba7bf67c6ed016'/>
<id>urn:sha1:a46e0899eec7a3069bcadd45dfba7bf67c6ed016</id>
<content type='text'>
This patch #ifdefs RCU kthreads out of the kernel unless RCU_BOOST=y,
thus eliminating context-switch overhead if RCU priority boosting has
not been configured.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-06-16T04:45:18Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-16T04:45:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=a1b6ae8ed01736dae19a33e74ea4e8dd88f891b5'/>
<id>urn:sha1:a1b6ae8ed01736dae19a33e74ea4e8dd88f891b5</id>
<content type='text'>
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: Check if lowest_mask is initialized in find_lowest_rq()
  sched: Fix need_resched() when checking peempt
</content>
</entry>
<entry>
<title>gcov: disable CONFIG_CONSTRUCTORS when not needed by CONFIG_GCOV_KERNEL</title>
<updated>2011-06-16T03:04:01Z</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2011-06-15T22:08:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=d2c32258798f813dc2be6cbc32f78aa5ac5cb205'/>
<id>urn:sha1:d2c32258798f813dc2be6cbc32f78aa5ac5cb205</id>
<content type='text'>
CONFIG_CONSTRUCTORS controls support for running constructor functions at
kernel init time.  According to commit b99b87f70c7785ab ("kernel:
constructor support"), gcov (CONFIG_GCOV_KERNEL) needs this.  However,
CONFIG_CONSTRUCTORS currently defaults to y, with no option to disable it,
and CONFIG_GCOV_KERNEL depends on it.  Instead, default it to n and have
CONFIG_GCOV_KERNEL select it, so that the normal case of
CONFIG_GCOV_KERNEL=n will result in CONFIG_CONSTRUCTORS=n.

Observed in the short list of =y values in a minimal kernel configuration.

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Acked-by: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Acked-by: Peter Oberparleiter &lt;peter.oberparleiter@de.ibm.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>memcg: clear mm-&gt;owner when last possible owner leaves</title>
<updated>2011-06-16T03:04:01Z</updated>
<author>
<name>KAMEZAWA Hiroyuki</name>
<email>kamezawa.hiroyu@jp.fujitsu.com</email>
</author>
<published>2011-06-15T22:08:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=733eda7ac316cd4e550fa096e4ed42356dc546e7'/>
<id>urn:sha1:733eda7ac316cd4e550fa096e4ed42356dc546e7</id>
<content type='text'>
The following crash was reported:

&gt; Call Trace:
&gt; [&lt;ffffffff81139792&gt;] mem_cgroup_from_task+0x15/0x17
&gt; [&lt;ffffffff8113a75a&gt;] __mem_cgroup_try_charge+0x148/0x4b4
&gt; [&lt;ffffffff810493f3&gt;] ? need_resched+0x23/0x2d
&gt; [&lt;ffffffff814cbf43&gt;] ? preempt_schedule+0x46/0x4f
&gt; [&lt;ffffffff8113afe8&gt;] mem_cgroup_charge_common+0x9a/0xce
&gt; [&lt;ffffffff8113b6d1&gt;] mem_cgroup_newpage_charge+0x5d/0x5f
&gt; [&lt;ffffffff81134024&gt;] khugepaged+0x5da/0xfaf
&gt; [&lt;ffffffff81078ea0&gt;] ? __init_waitqueue_head+0x4b/0x4b
&gt; [&lt;ffffffff81133a4a&gt;] ? add_mm_counter.constprop.5+0x13/0x13
&gt; [&lt;ffffffff81078625&gt;] kthread+0xa8/0xb0
&gt; [&lt;ffffffff814d13e8&gt;] ? sub_preempt_count+0xa1/0xb4
&gt; [&lt;ffffffff814d5664&gt;] kernel_thread_helper+0x4/0x10
&gt; [&lt;ffffffff814ce858&gt;] ? retint_restore_args+0x13/0x13
&gt; [&lt;ffffffff8107857d&gt;] ? __init_kthread_worker+0x5a/0x5a

What happens is that khugepaged tries to charge a huge page against an mm
whose last possible owner has already exited, and the memory controller
crashes when the stale mm-&gt;owner is used to look up the cgroup to charge.

mm-&gt;owner has never been set to NULL with the last owner going away, but
nobody cared until khugepaged came along.

Even then it wasn't a problem because the final mmput() on an mm was
forced to acquire and release mmap_sem in write-mode, preventing an
exiting owner to go away while the mmap_sem was held, and until "692e0b3
mm: thp: optimize memcg charge in khugepaged", the memory cgroup charge
was protected by mmap_sem in read-mode.

Instead of going back to relying on the mmap_sem to enforce lifetime of a
task, this patch ensures that mm-&gt;owner is properly set to NULL when the
last possible owner is exiting, which the memory controller can handle
just fine.

[akpm@linux-foundation.org: tweak comments]
Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Signed-off-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Reported-by: Hugh Dickins &lt;hughd@google.com&gt;
Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Reviewed-by: Andrea Arcangeli &lt;aarcange@redhat.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>
</feed>
