<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch, branch v2.6.13.2</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.13.2</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.13.2'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2005-09-17T01:01:55+00:00</updated>
<entry>
<title>[PATCH] lost fput in 32bit ioctl on x86-64</title>
<updated>2005-09-17T01:01:55+00:00</updated>
<author>
<name>Maxim Giryaev</name>
<email>gem@sw.ru</email>
</author>
<published>2005-09-09T20:05:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8cd943eb523fa622fec2f8e65e611263babd1249'/>
<id>urn:sha1:8cd943eb523fa622fec2f8e65e611263babd1249</id>
<content type='text'>
This patch adds lost fput in 32bit tiocgdev ioctl on x86-64

I believe this is a security issues, since user can fget() file as
many times as he wants to. So file refcounter can be overlapped and
first fput() will free resources though there will be still structures
pointing to the file, mnt, dentry etc.  Also fput() sets f_dentry and
f_vfsmnt to NULL, so other file users will OOPS.

The oops can be done under files_lock and others, so this is really
exploitable DoS on SMP. Didn't checked it on practice actually.

(chrisw: Update to use fget_light/fput_light)

Signed-Off-By: Kirill Korotaev &lt;dev@sw.ru&gt;
Signed-Off-By: Maxim Giryaev &lt;gem@sw.ru&gt;
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86: pci_assign_unassigned_resources() update</title>
<updated>2005-09-10T02:42:51+00:00</updated>
<author>
<name>Ivan Kokshaysky</name>
<email>ink@jurassic.park.msu.ru</email>
</author>
<published>2005-09-05T14:12:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2811d271ee67f4de6c6d7e2c731698f6f9f7746a'/>
<id>urn:sha1:2811d271ee67f4de6c6d7e2c731698f6f9f7746a</id>
<content type='text'>
I had some time to think about PCI assign issues in 2.6.13-rc series.

The major problem here is that we call pci_assign_unassigned_resources()
way too early - at subsys_initcall level. Therefore we give no chances
to ACPI and PnP routines (called at fs_initcall level) to reserve their
respective resources properly, as the comments in drivers/pnp/system.c
and drivers/acpi/motherboard.c suggest:

 /**
  * Reserve motherboard resources after PCI claim BARs,
  * but before PCI assign resources for uninitialized PCI devices
  */

So I moved the pci_assign_unassigned_resources() call to
pcibios_assign_resources() (fs_initcall), which should hopefully fix a
lot of problems and make PCIBIOS_MIN_IO tweaks unnecessary.

Other changes:
- remove resource assignment code from pcibios_assign_resources(), since
  it duplicates pci_assign_unassigned_resources() functionality and
  actually does nothing in 2.6.13;
- modify ROM assignment code as per Ben's suggestion: try to use firmware
  settings by default (if PCI_ASSIGN_ROMS is not set);
- set CARDBUS_IO_SIZE back to 4K as it's a wonderful stress test for
  various setups.

Confirmed by Tero Roponen &lt;teanropo@cc.jyu.fi&gt; (who had problems with
the 4kB CardBus IO size previously).

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] mmaper_kern.c fixes [buffer overruns]</title>
<updated>2005-08-27T17:11:40+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@parcelfarce.linux.theplanet.co.uk</email>
</author>
<published>2005-08-27T05:48:15+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=6a029a90f5b93e2b50bcbbaef05ef91fa0c1d6b3'/>
<id>urn:sha1:6a029a90f5b93e2b50bcbbaef05ef91fa0c1d6b3</id>
<content type='text'>
 - copy_from_user() can fail; -&gt;write() must check its return value.

 - severe buffer overruns both in -&gt;read() and -&gt;write() - lseek to the
   end (i.e.  to mmapper_size) and

	if (count + *ppos &gt; mmapper_size)
		count = count + *ppos - mmapper_size;

   will do absolutely nothing.  Then it will call

	copy_to_user(buf,&amp;v_buf[*ppos],count);

   with obvious results (similar for -&gt;write()).

   Fixed by turning read to simple_read_from_buffer() and by doing
   normal limiting of count in -&gt;write().

 - gratitious lock_kernel() in -&gt;mmap() - it's useless there.

 - lots of gratuitous includes.

Signed-off-by: Al Viro &lt;viro@parcelfarce.linux.theplanet.co.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] arm: fix IXP4xx flash resource range</title>
<updated>2005-08-27T02:37:12+00:00</updated>
<author>
<name>Deepak Saxena</name>
<email>dsaxena@plexity.net</email>
</author>
<published>2005-08-27T01:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1c9cf6f9861f8d27303ee2531b3b7686269c71ce'/>
<id>urn:sha1:1c9cf6f9861f8d27303ee2531b3b7686269c71ce</id>
<content type='text'>
We are currently reserving one byte more than actually needed by the flash
device and overlapping into the next I/O expansion bus window.  This a)
causes us to allocate an extra page of VM due to ARM ioremap() alignment
code and b) could cause problems if another driver tries to request the
next expansion bus window.

Signed-off-by: Deepak Saxena &lt;dsaxena@plexity.net&gt;
Cc: Russell King &lt;rmk@arm.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Tell VM about holes in nodes</title>
<updated>2005-08-27T02:37:12+00:00</updated>
<author>
<name>Andi Kleen</name>
<email>ak@suse.de</email>
</author>
<published>2005-08-27T01:34:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=485761bd6a72d33b3d4fa884927b2b0d983b701e'/>
<id>urn:sha1:485761bd6a72d33b3d4fa884927b2b0d983b701e</id>
<content type='text'>
Some nodes can have large holes on x86-64.

This fixes problems with the VM allowing too many dirty pages because it
overestimates the number of available RAM in a node.  In extreme cases you
can end up with all RAM filled with dirty pages which can lead to deadlocks
and other nasty behaviour.

This patch just tells the VM about the known holes from e820.  Reserved
(like the kernel text or mem_map) is still not taken into account, but that
should be only a few percent error now.

Small detail is that the flat setup uses the NUMA free_area_init_node() now
too because it offers more flexibility.

(akpm: lotsa thanks to Martin for working this problem out)

Cc: Martin Bligh &lt;mbligh@mbligh.org&gt;
Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ppc32 8xx: fix m8xx_ide_init() #ifdef</title>
<updated>2005-08-26T23:31:46+00:00</updated>
<author>
<name>Marcelo Tosatti</name>
<email>marcelo.tosatti@cyclades.com</email>
</author>
<published>2005-08-23T20:20:44+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=566ecb9b258ec4da3c7e1c6ca6fca8a5bb0c8eba'/>
<id>urn:sha1:566ecb9b258ec4da3c7e1c6ca6fca8a5bb0c8eba</id>
<content type='text'>
Be more precise on deciding whether to call m8xx_ide_init() at
m8xx_setup.c:platform_init().

Compilation fails if CONFIG_BLK_DEV_IDE is defined but
CONFIG_BLK_DEV_MPC8xx_IDE isnt.

Signed-off-by: Marcelo Tosatti &lt;marcelo.tosatti@cyclades.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Export pcibios_bus_to_resource</title>
<updated>2005-08-24T17:22:44+00:00</updated>
<author>
<name>Keith Owens</name>
<email>kaos@sgi.com</email>
</author>
<published>2005-08-24T06:06:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=41290c14640bc9312bf63202d14ebef075b6171a'/>
<id>urn:sha1:41290c14640bc9312bf63202d14ebef075b6171a</id>
<content type='text'>
pcibios_bus_to_resource is exported on all architectures except ia64
and sparc.  Add exports for the two missing architectures.  Needed when
Yenta socket support is compiled as a module.

Signed-off-by: Keith Owens &lt;kaos@sgi.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: update defconfig - reenable fusion</title>
<updated>2005-08-24T17:22:44+00:00</updated>
<author>
<name>Andi Kleen</name>
<email>ak@suse.de</email>
</author>
<published>2005-08-24T05:37:37+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b7561524765a30334bf31c56b523aeb3c1a04c7d'/>
<id>urn:sha1:b7561524765a30334bf31c56b523aeb3c1a04c7d</id>
<content type='text'>
I mistakedly disabled fusion support in an earlier update. Fusion
is commonly used on many x86-64 systems, so this was a problem.
This patch fixes that.

Signed-off-by: And Kleen &lt;ak@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ppc64: Export machine_power_off for therm_pm72 module</title>
<updated>2005-08-24T16:41:35+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2005-08-24T04:18:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5477d30e841e0f707fd2daddc8cb6949858476ee'/>
<id>urn:sha1:5477d30e841e0f707fd2daddc8cb6949858476ee</id>
<content type='text'>
This patch puts back the export of machine_power_off() that was removed
by some janitor as it's used for emergency shutdown by the G5 thermal
control driver. Wether that driver should use kernel_power_off() instead
is debatable and a post-2.6.13 decision. In the meantime, please commit
that patch that fixes the driver for now.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Don't oops at boot when empty Opteron node has IO</title>
<updated>2005-08-24T02:59:39+00:00</updated>
<author>
<name>Andi Kleen</name>
<email>ak@suse.de</email>
</author>
<published>2005-08-23T01:14:27+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d3813fcf105814d06b47fa586f6b61f3cff1cefc'/>
<id>urn:sha1:d3813fcf105814d06b47fa586f6b61f3cff1cefc</id>
<content type='text'>
The code to detect IO links on Opteron would not check
if the node had actually memory. This could lead to pci_bus_to_node
returning an invalid node, which might cause crashes later
when dma_alloc_coherent passes it to page_alloc_node().

The bug has been there forever but for some reason
it is causing now crashes.

Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
