<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/mm, branch v2.6.37</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.37</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.37'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2010-12-30T18:07:06Z</updated>
<entry>
<title>memcg: fix wrong VM_BUG_ON() in try_charge()'s mm-&gt;owner check</title>
<updated>2010-12-30T18:07:06Z</updated>
<author>
<name>KAMEZAWA Hiroyuki</name>
<email>kamezawa.hiroyu@jp.fujitsu.com</email>
</author>
<published>2010-12-29T22:07:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ebb76ce16daf6908dc030dec1c00827d37129fe5'/>
<id>urn:sha1:ebb76ce16daf6908dc030dec1c00827d37129fe5</id>
<content type='text'>
At __mem_cgroup_try_charge(), VM_BUG_ON(!mm-&gt;owner) is checked.
But as commented in mem_cgroup_from_task(), mm-&gt;owner can be NULL
in some racy case. This check of VM_BUG_ON() is bad.

A possible story to hit this is at swapoff()-&gt;try_to_unuse(). It passes
mm_struct to mem_cgroup_try_charge_swapin() while mm-&gt;owner is NULL. If we
can't get proper mem_cgroup from swap_cgroup information, mm-&gt;owner is used
as charge target and we see NULL.

Cc: Daisuke Nishimura &lt;nishimura@mxp.nes.nec.co.jp&gt;
Cc: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Reported-by: Hugh Dickins &lt;hughd@google.com&gt;
Reported-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Reviewed-by: Balbir Singh &lt;balbir@linux.vnet.ibm.com&gt;
Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nommu-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/nommu-2.6</title>
<updated>2010-12-27T18:36:27Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-12-27T18:36:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ffc96d628b651b69b39909fc3e9e8f465df1eed3'/>
<id>urn:sha1:ffc96d628b651b69b39909fc3e9e8f465df1eed3</id>
<content type='text'>
* 'nommu-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/nommu-2.6:
  nommu: Provide stubbed alloc/free_vm_area() implementation.
  nommu: Fix up vmalloc_node() symbol export regression.
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu</title>
<updated>2010-12-24T20:59:09Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-12-24T20:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a4790c9457ae973d598bbd5ce58f9eaa2dd1576b'/>
<id>urn:sha1:a4790c9457ae973d598bbd5ce58f9eaa2dd1576b</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
  percpu: print out alloc information with KERN_DEBUG instead of KERN_INFO
  kthread_work: make lockdep happy
</content>
</entry>
<entry>
<title>nommu: Provide stubbed alloc/free_vm_area() implementation.</title>
<updated>2010-12-24T03:08:30Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-12-24T03:08:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=29c185e5c681ca00d863d161eda7eadb93e32ee5'/>
<id>urn:sha1:29c185e5c681ca00d863d161eda7eadb93e32ee5</id>
<content type='text'>
Now that these have been introduced in to the vmalloc API, sync up the
nommu side of things. At present we don't deal with VMAs as such, so for
the time being these will simply BUG() out. In the future it should be
possible to support this interface by layering on top of the vm_regions.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>nommu: Fix up vmalloc_node() symbol export regression.</title>
<updated>2010-12-24T02:50:34Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-12-24T02:50:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a14f653dfe349c0916e6a78c413effa2fa3f001'/>
<id>urn:sha1:9a14f653dfe349c0916e6a78c413effa2fa3f001</id>
<content type='text'>
Commit e1ca778 ("mm: add vzalloc() and vzalloc_node() helpers") ended up
accidentally deleting the vmalloc_node() symbol export, resulting in:

"vmalloc_node" [net/core/pktgen.ko] undefined!
"vmalloc_node" [net/netfilter/x_tables.ko] undefined!

regressions.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>mm/migrate.c: fix compilation error</title>
<updated>2010-12-23T03:43:34Z</updated>
<author>
<name>Michal Nazarewicz</name>
<email>m.nazarewicz@samsung.com</email>
</author>
<published>2010-12-22T01:24:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0d1836c366157994474afd29632992375a3dd20c'/>
<id>urn:sha1:0d1836c366157994474afd29632992375a3dd20c</id>
<content type='text'>
GCC complained about update_mmu_cache() not being defined in migrate.c.
Including &lt;asm/tlbflush.h&gt; seems to solve the problem.

Signed-off-by: Michal Nazarewicz &lt;m.nazarewicz@samsung.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.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>writeback: do uninterruptible sleep in balance_dirty_pages()</title>
<updated>2010-12-23T03:43:33Z</updated>
<author>
<name>Wu Fengguang</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2010-12-22T01:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d153ba64450b9371158c6516d6cac120faace44c'/>
<id>urn:sha1:d153ba64450b9371158c6516d6cac120faace44c</id>
<content type='text'>
Using TASK_INTERRUPTIBLE in balance_dirty_pages() seems wrong.  If it's
going to do that then it must break out if signal_pending(), otherwise
it's pretty much guaranteed to degenerate into a busywait loop.  Plus we
*do* want these processes to appear in D state and to contribute to load
average.

So it should be TASK_UNINTERRUPTIBLE.                 -- Andrew Morton

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.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>mm/compaction.c: avoid double mem_cgroup_del_lru()</title>
<updated>2010-12-23T03:43:33Z</updated>
<author>
<name>Minchan Kim</name>
<email>minchan.kim@gmail.com</email>
</author>
<published>2010-12-22T01:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd9e5efe3aa9fc5b1ce484a531ecdba3a7a30bbf'/>
<id>urn:sha1:dd9e5efe3aa9fc5b1ce484a531ecdba3a7a30bbf</id>
<content type='text'>
del_page_from_lru_list() already called mem_cgroup_del_lru().  So we must
not call it again.  It adds unnecessary overhead.

It was not a runtime bug because the TestClearPageCgroupAcctLRU() early in
mem_cgroup_del_lru_list() will prevent any double-deletion, etc.

Signed-off-by: Minchan Kim &lt;minchan.kim@gmail.com&gt;
Acked-by: Balbir Singh &lt;balbir@linux.vnet.ibm.com&gt;
Acked-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Acked-by: Mel Gorman &lt;mel@csn.ul.ie&gt;
Reviewed-by: Johannes Weiner &lt;hannes@cmpxchg.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>percpu: print out alloc information with KERN_DEBUG instead of KERN_INFO</title>
<updated>2010-12-22T13:19:14Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-12-22T13:19:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bcbea798f8f1492052c23ceb4fbc2a96013a3865'/>
<id>urn:sha1:bcbea798f8f1492052c23ceb4fbc2a96013a3865</id>
<content type='text'>
Now that percpu allocator is mostly stable, there is no reason to
print alloc information with KERN_INFO and clutter the boot messages.
Switch it to KERN_DEBUG.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Mike Travis &lt;travis@sgi.com&gt;
</content>
</entry>
<entry>
<title>install_special_mapping skips security_file_mmap check.</title>
<updated>2010-12-15T20:30:36Z</updated>
<author>
<name>Tavis Ormandy</name>
<email>taviso@cmpxchg8b.com</email>
</author>
<published>2010-12-09T14:29:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=462e635e5b73ba9a4c03913b77138cd57ce4b050'/>
<id>urn:sha1:462e635e5b73ba9a4c03913b77138cd57ce4b050</id>
<content type='text'>
The install_special_mapping routine (used, for example, to setup the
vdso) skips the security check before insert_vm_struct, allowing a local
attacker to bypass the mmap_min_addr security restriction by limiting
the available pages for special mappings.

bprm_mm_init() also skips the check, and although I don't think this can
be used to bypass any restrictions, I don't see any reason not to have
the security check.

  $ uname -m
  x86_64
  $ cat /proc/sys/vm/mmap_min_addr
  65536
  $ cat install_special_mapping.s
  section .bss
      resb BSS_SIZE
  section .text
      global _start
      _start:
          mov     eax, __NR_pause
          int     0x80
  $ nasm -D__NR_pause=29 -DBSS_SIZE=0xfffed000 -f elf -o install_special_mapping.o install_special_mapping.s
  $ ld -m elf_i386 -Ttext=0x10000 -Tbss=0x11000 -o install_special_mapping install_special_mapping.o
  $ ./install_special_mapping &amp;
  [1] 14303
  $ cat /proc/14303/maps
  0000f000-00010000 r-xp 00000000 00:00 0                                  [vdso]
  00010000-00011000 r-xp 00001000 00:19 2453665                            /home/taviso/install_special_mapping
  00011000-ffffe000 rwxp 00000000 00:00 0                                  [stack]

It's worth noting that Red Hat are shipping with mmap_min_addr set to
4096.

Signed-off-by: Tavis Ormandy &lt;taviso@google.com&gt;
Acked-by: Kees Cook &lt;kees@ubuntu.com&gt;
Acked-by: Robert Swiecki &lt;swiecki@google.com&gt;
[ Changed to not drop the error code - akpm ]
Reviewed-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
