<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/net/9p, branch linux-3.4.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-3.4.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-3.4.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2015-10-22T01:20:07+00:00</updated>
<entry>
<title>9p: forgetting to cancel request on interrupted zero-copy RPC</title>
<updated>2015-10-22T01:20:07+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2015-07-04T20:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=22b1c30792cfd5da151f0ba47d2e66d3ea760b96'/>
<id>urn:sha1:22b1c30792cfd5da151f0ba47d2e66d3ea760b96</id>
<content type='text'>
commit a84b69cb6e0a41e86bc593904faa6def3b957343 upstream.

If we'd already sent a request and decide to abort it, we *must*
issue TFLUSH properly and not just blindly reuse the tag, or
we'll get seriously screwed when response eventually arrives
and we confuse it for response to later request that had reused
the same tag.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
</entry>
<entry>
<title>virtio: 9p: correctly pass physical address to userspace for high pages</title>
<updated>2014-06-11T19:04:17+00:00</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-10-19T13:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=6330a0c429c1518714283be51b86dc02b45db882'/>
<id>urn:sha1:6330a0c429c1518714283be51b86dc02b45db882</id>
<content type='text'>
commit 30d395b124c51db66d9f3ba0611cd62021afc392 upstream.

commit b9cdc88df8e63e81c723b82c286fc97f5d0dc325 upstream.

When using a virtio transport, the 9p net device may pass the physical
address of a kernel buffer to userspace via a scatterlist inside a
virtqueue. If the kernel buffer is mapped outside of the linear mapping
(e.g. highmem), then virt_to_page will return a bogus value and we will
populate the scatterlist with junk.

This patch uses kmap_to_page when populating the page array for a kernel
buffer.

Cc: Sasha Levin &lt;levinsasha928@gmail.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Yijing Wang &lt;wangyijing@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>9p: fix off by one causing access violations and memory corruption</title>
<updated>2013-07-28T23:26:05+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>sasha.levin@oracle.com</email>
</author>
<published>2013-07-11T17:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=dd5b0b7317dfa8cf23c45fea19ef9bb9ec1cfcd4'/>
<id>urn:sha1:dd5b0b7317dfa8cf23c45fea19ef9bb9ec1cfcd4</id>
<content type='text'>
[ Upstream commit 110ecd69a9feea82a152bbf9b12aba57e6396883 ]

p9_release_pages() would attempt to dereference one value past the end of
pages[]. This would cause the following crashes:

[ 6293.171817] BUG: unable to handle kernel paging request at ffff8807c96f3000
[ 6293.174146] IP: [&lt;ffffffff8412793b&gt;] p9_release_pages+0x3b/0x60
[ 6293.176447] PGD 79c5067 PUD 82c1e3067 PMD 82c197067 PTE 80000007c96f3060
[ 6293.180060] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
[ 6293.180060] Modules linked in:
[ 6293.180060] CPU: 62 PID: 174043 Comm: modprobe Tainted: G        W    3.10.0-next-20130710-sasha #3954
[ 6293.180060] task: ffff8807b803b000 ti: ffff880787dde000 task.ti: ffff880787dde000
[ 6293.180060] RIP: 0010:[&lt;ffffffff8412793b&gt;]  [&lt;ffffffff8412793b&gt;] p9_release_pages+0x3b/0x60
[ 6293.214316] RSP: 0000:ffff880787ddfc28  EFLAGS: 00010202
[ 6293.214316] RAX: 0000000000000001 RBX: ffff8807c96f2ff8 RCX: 0000000000000000
[ 6293.222017] RDX: ffff8807b803b000 RSI: 0000000000000001 RDI: ffffea001c7e3d40
[ 6293.222017] RBP: ffff880787ddfc48 R08: 0000000000000000 R09: 0000000000000000
[ 6293.222017] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000001
[ 6293.222017] R13: 0000000000000001 R14: ffff8807cc50c070 R15: ffff8807cc50c070
[ 6293.222017] FS:  00007f572641d700(0000) GS:ffff8807f3600000(0000) knlGS:0000000000000000
[ 6293.256784] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 6293.256784] CR2: ffff8807c96f3000 CR3: 00000007c8e81000 CR4: 00000000000006e0
[ 6293.256784] Stack:
[ 6293.256784]  ffff880787ddfcc8 ffff880787ddfcc8 0000000000000000 ffff880787ddfcc8
[ 6293.256784]  ffff880787ddfd48 ffffffff84128be8 ffff880700000002 0000000000000001
[ 6293.256784]  ffff8807b803b000 ffff880787ddfce0 0000100000000000 0000000000000000
[ 6293.256784] Call Trace:
[ 6293.256784]  [&lt;ffffffff84128be8&gt;] p9_virtio_zc_request+0x598/0x630
[ 6293.256784]  [&lt;ffffffff8115c610&gt;] ? wake_up_bit+0x40/0x40
[ 6293.256784]  [&lt;ffffffff841209b1&gt;] p9_client_zc_rpc+0x111/0x3a0
[ 6293.256784]  [&lt;ffffffff81174b78&gt;] ? sched_clock_cpu+0x108/0x120
[ 6293.256784]  [&lt;ffffffff84122a21&gt;] p9_client_read+0xe1/0x2c0
[ 6293.256784]  [&lt;ffffffff81708a90&gt;] v9fs_file_read+0x90/0xc0
[ 6293.256784]  [&lt;ffffffff812bd073&gt;] vfs_read+0xc3/0x130
[ 6293.256784]  [&lt;ffffffff811a78bd&gt;] ? trace_hardirqs_on+0xd/0x10
[ 6293.256784]  [&lt;ffffffff812bd5a2&gt;] SyS_read+0x62/0xa0
[ 6293.256784]  [&lt;ffffffff841a1a00&gt;] tracesys+0xdd/0xe2
[ 6293.256784] Code: 66 90 48 89 fb 41 89 f5 48 8b 3f 48 85 ff 74 29 85 f6 74 25 45 31 e4 66 0f 1f 84 00 00 00 00 00 e8 eb 14 12 fd 41 ff c4 49 63 c4 &lt;48&gt; 8b 3c c3 48 85 ff 74 05 45 39 e5 75 e7 48 83 c4 08 5b 41 5c
[ 6293.256784] RIP  [&lt;ffffffff8412793b&gt;] p9_release_pages+0x3b/0x60
[ 6293.256784]  RSP &lt;ffff880787ddfc28&gt;
[ 6293.256784] CR2: ffff8807c96f3000
[ 6293.256784] ---[ end trace 50822ee72cd360fc ]---

Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>9p: BUG before corrupting memory</title>
<updated>2012-06-22T18:37:15+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>levinsasha928@gmail.com</email>
</author>
<published>2012-06-11T15:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=eef458cb6f020f165de00a5e284048be49e9ee27'/>
<id>urn:sha1:eef458cb6f020f165de00a5e284048be49e9ee27</id>
<content type='text'>
commit 5fcb08befaf57faa1b00e514915c1660252b8c26 upstream.

The BUG_ON() in pack_sg_list() would get triggered only one time after we've
corrupted some memory by sg_set_buf() into an invalid sg buffer.

I'm still working on figuring out why I manage to trigger that bug...

Signed-off-by: Sasha Levin &lt;levinsasha928@gmail.com&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>net/9p: handle flushed Tclunk/Tremove</title>
<updated>2012-02-26T20:49:57+00:00</updated>
<author>
<name>Jim Garlick</name>
<email>garlick@llnl.gov</email>
</author>
<published>2012-02-26T20:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=208f3c28aab706fca2bc1bae7091da8a99c5e322'/>
<id>urn:sha1:208f3c28aab706fca2bc1bae7091da8a99c5e322</id>
<content type='text'>
When a Tclunk or Tremove request is flushed, the fid is not freed on the
server.

p9_client_clunk() should retry once on interrupt, then if interrupted
again, leak the fid for the duration of the connection.

p9_client_remove() should call p9_client_clunk() on interrupt
instead of unconditionally destroying the fid.

Signed-off-by: Jim Garlick &lt;garlick@llnl.gov&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
</content>
</entry>
<entry>
<title>net/9p: don't allow Tflush to be interrupted</title>
<updated>2012-02-26T20:27:21+00:00</updated>
<author>
<name>Jim Garlick</name>
<email>garlick@llnl.gov</email>
</author>
<published>2012-02-01T20:48:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=a314f2748e76c866222a18e639c640d584d277fb'/>
<id>urn:sha1:a314f2748e76c866222a18e639c640d584d277fb</id>
<content type='text'>
When a signal is received while sending a Tflush, the client,
which has recursed into p9_client_rpc() while sending another request,
should wait for Rflush as long as the transport is still up.

Signed-off-by: Jim Garlick &lt;garlick@llnl.gov&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
</content>
</entry>
<entry>
<title>virtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf</title>
<updated>2012-01-12T05:14:42+00:00</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2012-01-12T05:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=f96fde41f7f9af6cf20f6a1919f5d9670f84d574'/>
<id>urn:sha1:f96fde41f7f9af6cf20f6a1919f5d9670f84d574</id>
<content type='text'>
Remove wrapper functions. This makes the allocation type explicit in
all callers; I used GPF_KERNEL where it seemed obvious, left it at
GFP_ATOMIC otherwise.

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>9p: Reduce object size with CONFIG_NET_9P_DEBUG</title>
<updated>2012-01-05T16:51:44+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-11-28T18:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=5d3851530d6d68564e4e0ce04d0547d4d106fc72'/>
<id>urn:sha1:5d3851530d6d68564e4e0ce04d0547d4d106fc72</id>
<content type='text'>
Reduce object size by deduplicating formats.

Use vsprintf extension %pV.
Rename P9_DPRINTK uses to p9_debug, align arguments.
Add function for _p9_debug and macro to add __func__.
Add missing "\n"s to p9_debug uses.
Remove embedded function names as p9_debug adds it.
Remove P9_EPRINTK macro and convert use to pr_&lt;level&gt;.
Add and use pr_fmt and pr_&lt;level&gt;.

$ size fs/9p/built-in.o*
   text	   data	    bss	    dec	    hex	filename
  62133	    984	  16000	  79117	  1350d	fs/9p/built-in.o.new
  67342	    984	  16928	  85254	  14d06	fs/9p/built-in.o.old
$ size net/9p/built-in.o*
   text	   data	    bss	    dec	    hex	filename
  88792	   4148	  22024	 114964	  1c114	net/9p/built-in.o.new
  94072	   4148	  23232	 121452	  1da6c	net/9p/built-in.o.old

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
</content>
</entry>
<entry>
<title>net/9p: Convert net/9p protocol dumps to tracepoints</title>
<updated>2011-10-24T16:13:12+00:00</updated>
<author>
<name>Aneesh Kumar K.V</name>
<email>aneesh.kumar@linux.vnet.ibm.com</email>
</author>
<published>2011-08-06T19:16:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=348b59012e5c6402741d067cf6eeeb6271999d06'/>
<id>urn:sha1:348b59012e5c6402741d067cf6eeeb6271999d06</id>
<content type='text'>
This helps in more control over debugging.
root@qemu-img-64:~# ls /pass/123
ls: cannot access /pass/123: No such file or directory
root@qemu-img-64:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
#           TASK-PID    CPU#    TIMESTAMP  FUNCTION
#              | |       |          |         |
              ls-1536  [001]    70.928584: 9p_protocol_dump: clnt 18446612132784021504 P9_TWALK(tag = 1)
000: 16 00 00 00 6e 01 00 01 00 00 00 02 00 00 00 01
010: 00 03 00 31 32 33 00 00 00 ff ff ff ff 00 00 00

              ls-1536  [001]    70.928587: &lt;stack trace&gt;
 =&gt; trace_9p_protocol_dump
 =&gt; p9pdu_finalize
 =&gt; p9_client_rpc
 =&gt; p9_client_walk
 =&gt; v9fs_vfs_lookup
 =&gt; d_alloc_and_lookup
 =&gt; walk_component
 =&gt; path_lookupat
              ls-1536  [000]    70.929696: 9p_protocol_dump: clnt 18446612132784021504 P9_RLERROR(tag = 1)
000: 0b 00 00 00 07 01 00 02 00 00 00 4e 03 00 02 00
010: 00 00 00 00 03 00 02 00 00 00 00 00 ff 43 00 00

              ls-1536  [000]    70.929697: &lt;stack trace&gt;
 =&gt; trace_9p_protocol_dump
 =&gt; p9_client_rpc
 =&gt; p9_client_walk
 =&gt; v9fs_vfs_lookup
 =&gt; d_alloc_and_lookup
 =&gt; walk_component
 =&gt; path_lookupat
 =&gt; do_path_lookup

Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
</content>
</entry>
<entry>
<title>fs/9p: change an int to unsigned int</title>
<updated>2011-10-24T16:13:12+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2011-08-26T16:57:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=ef6b0807e2c986d5f1cb878e1b32a7cf4c32b4c8'/>
<id>urn:sha1:ef6b0807e2c986d5f1cb878e1b32a7cf4c32b4c8</id>
<content type='text'>
Without this msize=4294967295 will result in a crash

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Aneesh Kumar K.V &lt;aneesh.kumar@linux.vnet.ibm.com&gt;
Signed-off-by: Eric Van Hensbergen &lt;ericvh@gmail.com&gt;
</content>
</entry>
</feed>
