<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/compat.c, branch linux-2.6.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-12-17T00:20:48Z</updated>
<entry>
<title>[PATCH] skip data conversion in compat_sys_mount when data_page is NULL</title>
<updated>2006-12-17T00:20:48Z</updated>
<author>
<name>Andrey Mirkin</name>
</author>
<published>2006-12-07T04:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80dc4d3acce8103ad87e14ca8ae6b10a2785c5e5'/>
<id>urn:sha1:80dc4d3acce8103ad87e14ca8ae6b10a2785c5e5</id>
<content type='text'>
OpenVZ Linux kernel team has found a problem with mounting in compat mode.

Simple command "mount -t smbfs ..." on Fedora Core 5 distro in 32-bit mode
leads to oops:

Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
[&lt;ffffffff802bc7c6&gt;] compat_sys_mount+0xd6/0x290
PGD 34d48067 PUD 34d03067 PMD 0
Oops: 0000 [1] SMP
CPU: 0
Modules linked in: iptable_nat simfs smbfs ip_nat ip_conntrack vzdquota
parport_pc lp parport 8021q bridge llc vznetdev vzmon nfs lockd sunrpc vzdev
iptable_filter af_packet xt_length ipt_ttl xt_tcpmss ipt_TCPMSS
iptable_mangle xt_limit ipt_tos ipt_REJECT ip_tables x_tables thermal
processor fan button battery asus_acpi ac uhci_hcd ehci_hcd usbcore i2c_i801
i2c_core e100 mii floppy ide_cd cdrom
Pid: 14656, comm: mount
RIP: 0060:[&lt;ffffffff802bc7c6&gt;]  [&lt;ffffffff802bc7c6&gt;]
compat_sys_mount+0xd6/0x290
RSP: 0000:ffff810034d31f38  EFLAGS: 00010292
RAX: 000000000000002c RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff810034c86bc0 RSI: 0000000000000096 RDI: ffffffff8061fc90
RBP: ffff810034d31f78 R08: 0000000000000000 R09: 000000000000000d
R10: ffff810034d31e58 R11: 0000000000000001 R12: ffff810039dc3000
R13: 000000000805ea48 R14: 0000000000000000 R15: 00000000c0ed0000
FS:  0000000000000000(0000) GS:ffffffff80749000(0033) knlGS:00000000b7d556b0
CS:  0060 DS: 007b ES: 007b CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000034d43000 CR4: 00000000000006e0
Process mount (pid: 14656, veid=300, threadinfo ffff810034d30000, task
ffff810034c86bc0)
Stack:  0000000000000000 ffff810034dd0000 ffff810034e4a000 000000000805ea48
 0000000000000000 0000000000000000 0000000000000000 0000000000000000
 000000000805ea48 ffffffff8021e64e 0000000000000000 0000000000000000
Call Trace:
 [&lt;ffffffff8021e64e&gt;] ia32_sysret+0x0/0xa

Code: 83 3b 06 0f 85 41 01 00 00 0f b7 43 0c 89 43 14 0f b7 43 0a
RIP  [&lt;ffffffff802bc7c6&gt;] compat_sys_mount+0xd6/0x290
 RSP &lt;ffff810034d31f38&gt;
CR2: 0000000000000000

The problem is that data_page pointer can be NULL, so we should skip data
conversion in this case.

Signed-off-by: Andrey Mirkin &lt;amirkin@openvz.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Add compat_printk and sysctl to turn off compat layer warnings</title>
<updated>2006-06-26T17:48:16Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2006-06-26T11:56:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bebfa1013eee1d91b3242e5801cc8fbdfaf148ec'/>
<id>urn:sha1:bebfa1013eee1d91b3242e5801cc8fbdfaf148ec</id>
<content type='text'>
Sometimes e.g. with crashme the compat layer warnings can be noisy.
Add a way to turn them off by gating all output through compat_printk
that checks a global sysctl. The default is not changed.

Signed-off-by: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry</title>
<updated>2006-06-23T14:42:45Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2006-06-23T09:02:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=726c334223180e3c0197cc980a432681370d4baf'/>
<id>urn:sha1:726c334223180e3c0197cc980a432681370d4baf</id>
<content type='text'>
Give the statfs superblock operation a dentry pointer rather than a superblock
pointer.

This complements the get_sb() patch.  That reduced the significance of
sb-&gt;s_root, allowing NFS to place a fake root there.  However, NFS does
require a dentry to use as a target for the statfs operation.  This permits
the root in the vfsmount to be used instead.

linux/mount.h has been added where necessary to make allyesconfig build
successfully.

Interest has also been expressed for use with the FUSE and XFS filesystems.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Nathan Scott &lt;nathans@sgi.com&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] NFS: fix error handling on access_ok in compat_sys_nfsservctl</title>
<updated>2006-05-21T19:59:16Z</updated>
<author>
<name>Lin Feng Shen</name>
</author>
<published>2006-05-20T21:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d64b1c878fc1e384ae53d1d40034239bc33848f4'/>
<id>urn:sha1:d64b1c878fc1e384ae53d1d40034239bc33848f4</id>
<content type='text'>
Functions compat_nfs_svc_trans, compat_nfs_clnt_trans,
compat_nfs_exp_trans, compat_nfs_getfd_trans and compat_nfs_getfs_trans,
which are called by compat_sys_nfsservctl(fs/compat.c), don't handle the
return value of access_ok properly.  access_ok return 1 when the addr is
valid, and 0 when it's not, but these functions have the reversed
understanding.  When the address is valid, they always return -EFAULT to
compat_sys_nfsservctl.

An example is to run /usr/sbin/rpc.nfsd(32bit program on Power5).  It
doesn't function as expected.  strace showes that nfsservctl returns
-EFAULT.

The patch fixes this by correcting the error handling on the return value
of access_ok in the five functions.

Signed-off-by: Lin Feng Shen &lt;shenlinf@cn.ibm.com&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Acked-by: Neil Brown &lt;neilb@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] fs/compat.c: fix 'if (a |= b )' typo</title>
<updated>2006-05-15T18:20:57Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2006-05-15T16:44:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3835a9bd07778d87dea37fbf190f70883515e8fc'/>
<id>urn:sha1:3835a9bd07778d87dea37fbf190f70883515e8fc</id>
<content type='text'>
Mentioned by Mark Armbrust somewhere on Usenet.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Ulrich Drepper &lt;drepper@redhat.com&gt;
Cc: &lt;stable@kernel.org&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] compat_sys_vmsplice: one-off in UIO_MAXIOV check</title>
<updated>2006-05-04T07:13:49Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2006-05-04T07:13:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98232d504db0a1f91ecaa93686ed3bf61963103b'/>
<id>urn:sha1:98232d504db0a1f91ecaa93686ed3bf61963103b</id>
<content type='text'>
nr_segs may not be &gt; UIO_MAXIOV, however it may be equal to. This makes
the behaviour identical to the real sys_vmsplice(). The other foov
syscalls also agree that this is the way to go.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] x86_64: Add compat_sys_vmsplice and use it in x86-64</title>
<updated>2006-05-02T01:17:43Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2006-05-01T19:15:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2610202290b4924b71747314a0f88f28807702e'/>
<id>urn:sha1:d2610202290b4924b71747314a0f88f28807702e</id>
<content type='text'>
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] LSM: add missing hook to do_compat_readv_writev()</title>
<updated>2006-04-26T14:52:21Z</updated>
<author>
<name>James Morris</name>
</author>
<published>2006-04-26T06:45:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7edf9cdeddc0cff125e8e658216efb2ff2b2219'/>
<id>urn:sha1:e7edf9cdeddc0cff125e8e658216efb2ff2b2219</id>
<content type='text'>
This patch addresses a flaw in LSM, where there is no mediation of readv()
and writev() in for 32-bit compatible apps using a 64-bit kernel.

This bug was discovered and fixed initially in the native readv/writev
code [1], but was not fixed in the compat code.  Thanks to Al for spotting
this one.

  [1] http://lwn.net/Articles/154282/

Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Fold select_bits_alloc/free into caller code.</title>
<updated>2006-03-28T17:16:04Z</updated>
<author>
<name>Vadim Lobanov</name>
</author>
<published>2006-03-28T09:56:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68c3431ae22912be580c68d3955ef46515582943'/>
<id>urn:sha1:68c3431ae22912be580c68d3955ef46515582943</id>
<content type='text'>
Remove an unnecessary level of indirection in allocating and freeing select
bits, as per the select_bits_alloc() and select_bits_free() functions.
Both select.c and compat.c are updated.

Signed-off-by: Vadim Lobanov &lt;vlobanov@speakeasy.net&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] use kzalloc and kcalloc in core fs code</title>
<updated>2006-03-25T16:23:00Z</updated>
<author>
<name>Oliver Neukum</name>
</author>
<published>2006-03-25T11:08:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11b0b5abb2097a63c1081d9b7e825b987b227972'/>
<id>urn:sha1:11b0b5abb2097a63c1081d9b7e825b987b227972</id>
<content type='text'>
Signed-off-by: Oliver Neukum &lt;oliver@neukum.name&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
