stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Jerome Poulin <jeromepoulin@gmail.com>,
	Anton Eliasson <devel@antoneliasson.se>,
	Paul Fertser <fercerpav@gmail.com>,
	ARAI Shun-ichi <hermes@ceres.dti.ne.jp>,
	Piotr Szymaniak <szarpaj@grubelek.pl>,
	Juan Barry Manuel Canham <Linux@riotingpacifist.net>,
	Zahid Chowdhury <zahid.chowdhury@starsolutions.com>,
	Elmer Zhang <freeboy6716@gmail.com>,
	Kenneth Langga <klangga@gmail.com>,
	Vyacheslav Dubeyko <slava@dubeyko.com>,
	Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: [ 066/110] nilfs2: fix issue with race condition of competition between segments for dirty blocks
Date: Fri, 11 Oct 2013 12:38:46 -0700	[thread overview]
Message-ID: <20131011193815.021316174@linuxfoundation.org> (raw)
In-Reply-To: <20131011193807.584188672@linuxfoundation.org>

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Vyacheslav Dubeyko <slava@dubeyko.com>

commit 7f42ec3941560f0902fe3671e36f2c20ffd3af0a upstream.

Many NILFS2 users were reported about strange file system corruption
(for example):

   NILFS: bad btree node (blocknr=185027): level = 0, flags = 0x0, nchildren = 768
   NILFS error (device sda4): nilfs_bmap_last_key: broken bmap (inode number=11540)

But such error messages are consequence of file system's issue that takes
place more earlier.  Fortunately, Jerome Poulin <jeromepoulin@gmail.com>
and Anton Eliasson <devel@antoneliasson.se> were reported about another
issue not so recently.  These reports describe the issue with segctor
thread's crash:

  BUG: unable to handle kernel paging request at 0000000000004c83
  IP: nilfs_end_page_io+0x12/0xd0 [nilfs2]

  Call Trace:
   nilfs_segctor_do_construct+0xf25/0x1b20 [nilfs2]
   nilfs_segctor_construct+0x17b/0x290 [nilfs2]
   nilfs_segctor_thread+0x122/0x3b0 [nilfs2]
   kthread+0xc0/0xd0
   ret_from_fork+0x7c/0xb0

These two issues have one reason.  This reason can raise third issue
too.  Third issue results in hanging of segctor thread with eating of
100% CPU.

REPRODUCING PATH:

One of the possible way or the issue reproducing was described by
Jermoe me Poulin <jeromepoulin@gmail.com>:

1. init S to get to single user mode.
2. sysrq+E to make sure only my shell is running
3. start network-manager to get my wifi connection up
4. login as root and launch "screen"
5. cd /boot/log/nilfs which is a ext3 mount point and can log when NILFS dies.
6. lscp | xz -9e > lscp.txt.xz
7. mount my snapshot using mount -o cp=3360839,ro /dev/vgUbuntu/root /mnt/nilfs
8. start a screen to dump /proc/kmsg to text file since rsyslog is killed
9. start a screen and launch strace -f -o find-cat.log -t find
/mnt/nilfs -type f -exec cat {} > /dev/null \;
10. start a screen and launch strace -f -o apt-get.log -t apt-get update
11. launch the last command again as it did not crash the first time
12. apt-get crashes
13. ps aux > ps-aux-crashed.log
13. sysrq+W
14. sysrq+E  wait for everything to terminate
15. sysrq+SUSB

Simplified way of the issue reproducing is starting kernel compilation
task and "apt-get update" in parallel.

REPRODUCIBILITY:

The issue is reproduced not stable [60% - 80%].  It is very important to
have proper environment for the issue reproducing.  The critical
conditions for successful reproducing:

(1) It should have big modified file by mmap() way.

(2) This file should have the count of dirty blocks are greater that
    several segments in size (for example, two or three) from time to time
    during processing.

(3) It should be intensive background activity of files modification
    in another thread.

INVESTIGATION:

First of all, it is possible to see that the reason of crash is not valid
page address:

  NILFS [nilfs_segctor_complete_write]:2100 bh->b_count 0, bh->b_blocknr 13895680, bh->b_size 13897727, bh->b_page 0000000000001a82
  NILFS [nilfs_segctor_complete_write]:2101 segbuf->sb_segnum 6783

Moreover, value of b_page (0x1a82) is 6786.  This value looks like segment
number.  And b_blocknr with b_size values look like block numbers.  So,
buffer_head's pointer points on not proper address value.

Detailed investigation of the issue is discovered such picture:

  [-----------------------------SEGMENT 6783-------------------------------]
  NILFS [nilfs_segctor_do_construct]:2310 nilfs_segctor_begin_construction
  NILFS [nilfs_segctor_do_construct]:2321 nilfs_segctor_collect
  NILFS [nilfs_segctor_do_construct]:2336 nilfs_segctor_assign
  NILFS [nilfs_segctor_do_construct]:2367 nilfs_segctor_update_segusage
  NILFS [nilfs_segctor_do_construct]:2371 nilfs_segctor_prepare_write
  NILFS [nilfs_segctor_do_construct]:2376 nilfs_add_checksums_on_logs
  NILFS [nilfs_segctor_do_construct]:2381 nilfs_segctor_write
  NILFS [nilfs_segbuf_submit_bio]:464 bio->bi_sector 111149024, segbuf->sb_segnum 6783

  [-----------------------------SEGMENT 6784-------------------------------]
  NILFS [nilfs_segctor_do_construct]:2310 nilfs_segctor_begin_construction
  NILFS [nilfs_segctor_do_construct]:2321 nilfs_segctor_collect
  NILFS [nilfs_lookup_dirty_data_buffers]:782 bh->b_count 1, bh->b_page ffffea000709b000, page->index 0, i_ino 1033103, i_size 25165824
  NILFS [nilfs_lookup_dirty_data_buffers]:783 bh->b_assoc_buffers.next ffff8802174a6798, bh->b_assoc_buffers.prev ffff880221cffee8
  NILFS [nilfs_segctor_do_construct]:2336 nilfs_segctor_assign
  NILFS [nilfs_segctor_do_construct]:2367 nilfs_segctor_update_segusage
  NILFS [nilfs_segctor_do_construct]:2371 nilfs_segctor_prepare_write
  NILFS [nilfs_segctor_do_construct]:2376 nilfs_add_checksums_on_logs
  NILFS [nilfs_segctor_do_construct]:2381 nilfs_segctor_write
  NILFS [nilfs_segbuf_submit_bh]:575 bh->b_count 1, bh->b_page ffffea000709b000, page->index 0, i_ino 1033103, i_size 25165824
  NILFS [nilfs_segbuf_submit_bh]:576 segbuf->sb_segnum 6784
  NILFS [nilfs_segbuf_submit_bh]:577 bh->b_assoc_buffers.next ffff880218a0d5f8, bh->b_assoc_buffers.prev ffff880218bcdf50
  NILFS [nilfs_segbuf_submit_bio]:464 bio->bi_sector 111150080, segbuf->sb_segnum 6784, segbuf->sb_nbio 0
  [----------] ditto
  NILFS [nilfs_segbuf_submit_bio]:464 bio->bi_sector 111164416, segbuf->sb_segnum 6784, segbuf->sb_nbio 15

  [-----------------------------SEGMENT 6785-------------------------------]
  NILFS [nilfs_segctor_do_construct]:2310 nilfs_segctor_begin_construction
  NILFS [nilfs_segctor_do_construct]:2321 nilfs_segctor_collect
  NILFS [nilfs_lookup_dirty_data_buffers]:782 bh->b_count 2, bh->b_page ffffea000709b000, page->index 0, i_ino 1033103, i_size 25165824
  NILFS [nilfs_lookup_dirty_data_buffers]:783 bh->b_assoc_buffers.next ffff880219277e80, bh->b_assoc_buffers.prev ffff880221cffc88
  NILFS [nilfs_segctor_do_construct]:2367 nilfs_segctor_update_segusage
  NILFS [nilfs_segctor_do_construct]:2371 nilfs_segctor_prepare_write
  NILFS [nilfs_segctor_do_construct]:2376 nilfs_add_checksums_on_logs
  NILFS [nilfs_segctor_do_construct]:2381 nilfs_segctor_write
  NILFS [nilfs_segbuf_submit_bh]:575 bh->b_count 2, bh->b_page ffffea000709b000, page->index 0, i_ino 1033103, i_size 25165824
  NILFS [nilfs_segbuf_submit_bh]:576 segbuf->sb_segnum 6785
  NILFS [nilfs_segbuf_submit_bh]:577 bh->b_assoc_buffers.next ffff880218a0d5f8, bh->b_assoc_buffers.prev ffff880222cc7ee8
  NILFS [nilfs_segbuf_submit_bio]:464 bio->bi_sector 111165440, segbuf->sb_segnum 6785, segbuf->sb_nbio 0
  [----------] ditto
  NILFS [nilfs_segbuf_submit_bio]:464 bio->bi_sector 111177728, segbuf->sb_segnum 6785, segbuf->sb_nbio 12

  NILFS [nilfs_segctor_do_construct]:2399 nilfs_segctor_wait
  NILFS [nilfs_segbuf_wait]:676 segbuf->sb_segnum 6783
  NILFS [nilfs_segbuf_wait]:676 segbuf->sb_segnum 6784
  NILFS [nilfs_segbuf_wait]:676 segbuf->sb_segnum 6785

  NILFS [nilfs_segctor_complete_write]:2100 bh->b_count 0, bh->b_blocknr 13895680, bh->b_size 13897727, bh->b_page 0000000000001a82

  BUG: unable to handle kernel paging request at 0000000000001a82
  IP: [<ffffffffa024d0f2>] nilfs_end_page_io+0x12/0xd0 [nilfs2]

Usually, for every segment we collect dirty files in list.  Then, dirty
blocks are gathered for every dirty file, prepared for write and
submitted by means of nilfs_segbuf_submit_bh() call.  Finally, it takes
place complete write phase after calling nilfs_end_bio_write() on the
block layer.  Buffers/pages are marked as not dirty on final phase and
processed files removed from the list of dirty files.

It is possible to see that we had three prepare_write and submit_bio
phases before segbuf_wait and complete_write phase.  Moreover, segments
compete between each other for dirty blocks because on every iteration
of segments processing dirty buffer_heads are added in several lists of
payload_buffers:

  [SEGMENT 6784]: bh->b_assoc_buffers.next ffff880218a0d5f8, bh->b_assoc_buffers.prev ffff880218bcdf50
  [SEGMENT 6785]: bh->b_assoc_buffers.next ffff880218a0d5f8, bh->b_assoc_buffers.prev ffff880222cc7ee8

The next pointer is the same but prev pointer has changed.  It means
that buffer_head has next pointer from one list but prev pointer from
another.  Such modification can be made several times.  And, finally, it
can be resulted in various issues: (1) segctor hanging, (2) segctor
crashing, (3) file system metadata corruption.

FIX:
This patch adds:

(1) setting of BH_Async_Write flag in nilfs_segctor_prepare_write()
    for every proccessed dirty block;

(2) checking of BH_Async_Write flag in
    nilfs_lookup_dirty_data_buffers() and
    nilfs_lookup_dirty_node_buffers();

(3) clearing of BH_Async_Write flag in nilfs_segctor_complete_write(),
    nilfs_abort_logs(), nilfs_forget_buffer(), nilfs_clear_dirty_page().

Reported-by: Jerome Poulin <jeromepoulin@gmail.com>
Reported-by: Anton Eliasson <devel@antoneliasson.se>
Cc: Paul Fertser <fercerpav@gmail.com>
Cc: ARAI Shun-ichi <hermes@ceres.dti.ne.jp>
Cc: Piotr Szymaniak <szarpaj@grubelek.pl>
Cc: Juan Barry Manuel Canham <Linux@riotingpacifist.net>
Cc: Zahid Chowdhury <zahid.chowdhury@starsolutions.com>
Cc: Elmer Zhang <freeboy6716@gmail.com>
Cc: Kenneth Langga <klangga@gmail.com>
Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/nilfs2/page.c    |    2 ++
 fs/nilfs2/segment.c |   11 +++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

--- a/fs/nilfs2/page.c
+++ b/fs/nilfs2/page.c
@@ -94,6 +94,7 @@ void nilfs_forget_buffer(struct buffer_h
 	clear_buffer_nilfs_volatile(bh);
 	clear_buffer_nilfs_checked(bh);
 	clear_buffer_nilfs_redirected(bh);
+	clear_buffer_async_write(bh);
 	clear_buffer_dirty(bh);
 	if (nilfs_page_buffers_clean(page))
 		__nilfs_clear_page_dirty(page);
@@ -429,6 +430,7 @@ void nilfs_clear_dirty_page(struct page
 					"discard block %llu, size %zu",
 					(u64)bh->b_blocknr, bh->b_size);
 			}
+			clear_buffer_async_write(bh);
 			clear_buffer_dirty(bh);
 			clear_buffer_nilfs_volatile(bh);
 			clear_buffer_nilfs_checked(bh);
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -665,7 +665,7 @@ static size_t nilfs_lookup_dirty_data_bu
 
 		bh = head = page_buffers(page);
 		do {
-			if (!buffer_dirty(bh))
+			if (!buffer_dirty(bh) || buffer_async_write(bh))
 				continue;
 			get_bh(bh);
 			list_add_tail(&bh->b_assoc_buffers, listp);
@@ -699,7 +699,8 @@ static void nilfs_lookup_dirty_node_buff
 		for (i = 0; i < pagevec_count(&pvec); i++) {
 			bh = head = page_buffers(pvec.pages[i]);
 			do {
-				if (buffer_dirty(bh)) {
+				if (buffer_dirty(bh) &&
+						!buffer_async_write(bh)) {
 					get_bh(bh);
 					list_add_tail(&bh->b_assoc_buffers,
 						      listp);
@@ -1579,6 +1580,7 @@ static void nilfs_segctor_prepare_write(
 
 		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
 				    b_assoc_buffers) {
+			set_buffer_async_write(bh);
 			if (bh->b_page != bd_page) {
 				if (bd_page) {
 					lock_page(bd_page);
@@ -1592,6 +1594,7 @@ static void nilfs_segctor_prepare_write(
 
 		list_for_each_entry(bh, &segbuf->sb_payload_buffers,
 				    b_assoc_buffers) {
+			set_buffer_async_write(bh);
 			if (bh == segbuf->sb_super_root) {
 				if (bh->b_page != bd_page) {
 					lock_page(bd_page);
@@ -1677,6 +1680,7 @@ static void nilfs_abort_logs(struct list
 	list_for_each_entry(segbuf, logs, sb_list) {
 		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
 				    b_assoc_buffers) {
+			clear_buffer_async_write(bh);
 			if (bh->b_page != bd_page) {
 				if (bd_page)
 					end_page_writeback(bd_page);
@@ -1686,6 +1690,7 @@ static void nilfs_abort_logs(struct list
 
 		list_for_each_entry(bh, &segbuf->sb_payload_buffers,
 				    b_assoc_buffers) {
+			clear_buffer_async_write(bh);
 			if (bh == segbuf->sb_super_root) {
 				if (bh->b_page != bd_page) {
 					end_page_writeback(bd_page);
@@ -1755,6 +1760,7 @@ static void nilfs_segctor_complete_write
 				    b_assoc_buffers) {
 			set_buffer_uptodate(bh);
 			clear_buffer_dirty(bh);
+			clear_buffer_async_write(bh);
 			if (bh->b_page != bd_page) {
 				if (bd_page)
 					end_page_writeback(bd_page);
@@ -1776,6 +1782,7 @@ static void nilfs_segctor_complete_write
 				    b_assoc_buffers) {
 			set_buffer_uptodate(bh);
 			clear_buffer_dirty(bh);
+			clear_buffer_async_write(bh);
 			clear_buffer_delay(bh);
 			clear_buffer_nilfs_volatile(bh);
 			clear_buffer_nilfs_redirected(bh);



  parent reply	other threads:[~2013-10-11 19:38 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-11 19:37 [ 000/110] 3.10.16-stable review Greg Kroah-Hartman
2013-10-11 19:37 ` [ 001/110] mwifiex: fix memory corruption when unsetting multicast list Greg Kroah-Hartman
2013-10-11 19:37 ` [ 002/110] cpqarray: fix info leak in ida_locked_ioctl() Greg Kroah-Hartman
2013-10-11 19:37 ` [ 003/110] cciss: fix info leak in cciss_ioctl32_passthru() Greg Kroah-Hartman
2013-10-11 19:37 ` [ 004/110] HID: fix data access in implement() Greg Kroah-Hartman
2013-10-11 19:37 ` [ 005/110] HID: fix unused rsize usage Greg Kroah-Hartman
2013-10-11 19:37 ` [ 006/110] caif: Add missing braces to multiline if in cfctrl_linkup_request Greg Kroah-Hartman
2013-10-11 19:37 ` [ 007/110] tcp: Add missing braces to do_tcp_setsockopt Greg Kroah-Hartman
2013-10-11 19:37 ` [ 008/110] ipv6/exthdrs: accept tlv which includes only padding Greg Kroah-Hartman
2013-10-11 19:37 ` [ 009/110] net: fib: fib6_add: fix potential NULL pointer dereference Greg Kroah-Hartman
2013-10-11 19:37 ` [ 010/110] net: sctp: fix bug in sctp_poll for SOCK_SELECT_ERR_QUEUE Greg Kroah-Hartman
2013-10-11 19:37 ` [ 011/110] net: sctp: fix smatch warning in sctp_send_asconf_del_ip Greg Kroah-Hartman
2013-10-11 19:37 ` [ 012/110] net: fix multiqueue selection Greg Kroah-Hartman
2013-10-11 19:37 ` [ 013/110] net: flow_dissector: fix thoff for IPPROTO_AH Greg Kroah-Hartman
2013-10-11 19:37 ` [ 014/110] net_sched: htb: fix a typo in htb_change_class() Greg Kroah-Hartman
2013-10-11 19:37 ` [ 015/110] r8169: enforce RX_MULTI_EN for the 8168f Greg Kroah-Hartman
2013-10-11 19:37 ` [ 016/110] netpoll: Should handle ETH_P_ARP other than ETH_P_IP in netpoll_neigh_reply Greg Kroah-Hartman
2013-10-11 19:37 ` [ 017/110] netpoll: fix NULL pointer dereference in netpoll_cleanup Greg Kroah-Hartman
2013-10-11 19:37 ` [ 018/110] tuntap: correctly handle error in tun_set_iff() Greg Kroah-Hartman
2013-10-11 19:37 ` [ 019/110] net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit Greg Kroah-Hartman
2013-10-11 19:38 ` [ 020/110] xen-netback: count number required slots for an skb more carefully Greg Kroah-Hartman
2013-10-11 19:38 ` [ 021/110] resubmit bridge: fix message_age_timer calculation Greg Kroah-Hartman
2013-10-11 19:38 ` [ 022/110] bridge: Clamp forward_delay when enabling STP Greg Kroah-Hartman
2013-10-11 19:38 ` [ 023/110] bridge: use br_port_get_rtnl within rtnl lock Greg Kroah-Hartman
2013-10-11 19:38 ` [ 024/110] bridge: fix NULL pointer deref of br_port_get_rcu Greg Kroah-Hartman
2013-10-11 19:38 ` [ 025/110] ip6_tunnels: raddr and laddr are inverted in nl msg Greg Kroah-Hartman
2013-10-11 19:38 ` [ 026/110] net: sctp: rfc4443: do not report ICMP redirects to user space Greg Kroah-Hartman
2013-10-11 19:38 ` [ 027/110] net:dccp: " Greg Kroah-Hartman
2013-10-11 19:38 ` [ 028/110] ip: use ip_hdr() in __ip_make_skb() to retrieve IP header Greg Kroah-Hartman
2013-10-11 19:38 ` [ 029/110] ip: generate unique IP identificator if local fragmentation is allowed Greg Kroah-Hartman
2013-10-11 19:38 ` [ 030/110] ipv6: udp packets following an UFO enqueued packet need also be handled by UFO Greg Kroah-Hartman
2013-10-11 19:38 ` [ 031/110] via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) Greg Kroah-Hartman
2013-10-11 19:38 ` [ 032/110] IPv6 NAT: Do not drop DNATed 6to4/6rd packets Greg Kroah-Hartman
2013-10-11 19:38 ` [ 033/110] net: net_secret should not depend on TCP Greg Kroah-Hartman
2013-10-11 19:38 ` [ 034/110] dm9601: fix IFF_ALLMULTI handling Greg Kroah-Hartman
2013-10-11 19:38 ` [ 035/110] bonding: Fix broken promiscuity reference counting issue Greg Kroah-Hartman
2013-10-11 19:38 ` [ 036/110] ipv6: gre: correct calculation of max_headroom Greg Kroah-Hartman
2013-10-11 19:38 ` [ 037/110] ipv4 igmp: use in_dev_put in timer handlers instead of __in_dev_put Greg Kroah-Hartman
2013-10-11 19:38 ` [ 038/110] ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put Greg Kroah-Hartman
2013-10-11 19:38 ` [ 039/110] ll_temac: Reset dma descriptors indexes on ndo_open Greg Kroah-Hartman
2013-10-11 19:38 ` [ 040/110] ip_tunnel: Fix a memory corruption in ip_tunnel_xmit Greg Kroah-Hartman
2013-10-11 19:38 ` [ 041/110] sit: allow to use rtnl ops on fb tunnel Greg Kroah-Hartman
2013-10-11 19:38 ` [ 042/110] ip6tnl: " Greg Kroah-Hartman
2013-10-11 19:38 ` [ 043/110] avr32: fix clockevents kernel warning Greg Kroah-Hartman
2013-10-11 19:38 ` [ 044/110] fs/binfmt_elf.c: prevent a coredump with a large vm_map_count from Oopsing Greg Kroah-Hartman
2013-10-11 19:38 ` [ 045/110] gpio/omap: maintain GPIO and IRQ usage separately Greg Kroah-Hartman
2013-10-11 19:38 ` [ 046/110] gpio/omap: auto-setup a GPIO when used as an IRQ Greg Kroah-Hartman
2013-10-11 19:38 ` [ 047/110] ASoC: max98095: a couple array underflows Greg Kroah-Hartman
2013-10-11 19:38 ` [ 048/110] ASoC: 88pm860x: array overflow in snd_soc_put_volsw_2r_st() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 049/110] ASoC: ab8500-codec: info leak in anc_status_control_put() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 050/110] powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in iommu_init_table() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 051/110] powerpc/perf: Fix handling of FAB events Greg Kroah-Hartman
2013-10-11 19:38 ` [ 052/110] powerpc/tm: Switch out userspace PPR and DSCR sooner Greg Kroah-Hartman
2013-10-11 19:38 ` [ 053/110] powerpc/vio: Fix modalias_show return values Greg Kroah-Hartman
2013-10-11 19:38 ` [ 054/110] powerpc: Fix parameter clobber in csum_partial_copy_generic() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 055/110] powerpc/sysfs: Disable writing to PURR in guest mode Greg Kroah-Hartman
2013-10-11 19:38 ` [ 056/110] powerpc: Restore registers on error exit from csum_partial_copy_generic() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 057/110] fuse: wait for writeback in fuse_file_fallocate() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 058/110] fuse: fix fallocate vs. ftruncate race Greg Kroah-Hartman
2013-10-11 19:38 ` [ 059/110] brcmfmac: obtain platform data upon module initialization Greg Kroah-Hartman
2013-10-11 19:38 ` [ 060/110] Bluetooth: Fix security level for peripheral role Greg Kroah-Hartman
2013-10-11 19:38 ` [ 061/110] Bluetooth: Fix encryption key size " Greg Kroah-Hartman
2013-10-11 19:38 ` [ 062/110] Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012 Greg Kroah-Hartman
2013-10-11 19:38 ` [ 063/110] Bluetooth: Add support for BCM20702A0 [0b05, 17cb] Greg Kroah-Hartman
2013-10-11 19:38 ` [ 064/110] Bluetooth: Introduce a new HCI_RFKILLED flag Greg Kroah-Hartman
2013-10-11 19:38 ` [ 065/110] Bluetooth: Fix rfkill functionality during the HCI setup stage Greg Kroah-Hartman
2013-10-11 19:38 ` Greg Kroah-Hartman [this message]
2013-10-11 19:38 ` [ 067/110] esp_scsi: Fix tag state corruption when autosensing Greg Kroah-Hartman
2013-10-11 19:38 ` [ 068/110] sparc64: Fix ITLB handler of null page Greg Kroah-Hartman
2013-10-11 19:38 ` [ 069/110] sparc64: Remove RWSEM export leftovers Greg Kroah-Hartman
2013-10-11 19:38 ` [ 070/110] sparc64: Fix buggy strlcpy() conversion in ldom_reboot() Greg Kroah-Hartman
2013-10-11 19:38 ` [ 071/110] sparc: fix ldom_reboot buffer overflow harder Greg Kroah-Hartman
2013-10-11 19:38 ` [ 072/110] sparc64: Fix off by one in trampoline TLB mapping installation loop Greg Kroah-Hartman
2013-10-11 19:38 ` [ 073/110] sparc64: Fix not SRAed %o5 in 32-bit traced syscall Greg Kroah-Hartman
2013-10-11 19:38 ` [ 074/110] sparc32: Fix exit flag passed from traced sys_sigreturn Greg Kroah-Hartman
2013-10-11 19:38 ` [ 075/110] mm: Fix generic hugetlb pte check return type Greg Kroah-Hartman
2013-10-11 19:38 ` [ 076/110] mm/bounce.c: fix a regression where MS_SNAP_STABLE (stable pages snapshotting) was ignored Greg Kroah-Hartman
2013-10-11 19:38 ` [ 077/110] kernel/kmod.c: check for NULL in call_usermodehelper_exec() Greg Kroah-Hartman
2013-10-11 22:36   ` Tetsuo Handa
2013-10-11 19:38 ` [ 078/110] staging: comedi: ni_65xx: (bug fix) confine insn_bits to one subdevice Greg Kroah-Hartman
2013-10-11 19:38 ` [ 079/110] NFSv4.1: nfs4_fl_prepare_ds - fix bugs when the connect attempt fails Greg Kroah-Hartman
2013-10-11 19:39 ` [ 080/110] mwifiex: fix NULL pointer dereference in usb suspend handler Greg Kroah-Hartman
2013-10-11 19:39 ` [ 081/110] mwifiex: fix hang issue for USB chipsets Greg Kroah-Hartman
2013-10-11 19:39 ` [ 082/110] mwifiex: fix PCIe hs_cfg cancel cmd timeout Greg Kroah-Hartman
2013-10-11 19:39 ` [ 083/110] USB: serial: option: Ignore card reader interface on Huawei E1750 Greg Kroah-Hartman
2013-10-11 19:39 ` [ 084/110] xen/hvc: allow xenboot console to be used again Greg Kroah-Hartman
2013-10-11 19:39 ` [ 085/110] ib_srpt: Destroy cm_id before destroying QP Greg Kroah-Hartman
2013-10-11 19:39 ` [ 086/110] ib_srpt: always set response for task management Greg Kroah-Hartman
2013-10-11 19:39 ` [ 087/110] rtlwifi: Align private space in rtl_priv struct Greg Kroah-Hartman
2013-10-11 19:39 ` [ 088/110] p54usb: add USB ID for Corega WLUSB2GTST USB adapter Greg Kroah-Hartman
2013-10-11 19:39 ` [ 089/110] mm: avoid reinserting isolated balloon pages into LRU lists Greg Kroah-Hartman
2013-10-11 19:39 ` [ 090/110] iscsi-target: Only perform wait_for_tasks when performing shutdown Greg Kroah-Hartman
2013-10-11 19:39 ` [ 091/110] net: Update the sysctl permissions handler to test effective uid/gid Greg Kroah-Hartman
2013-10-11 19:39 ` [ 092/110] irq: Force hardirq exits softirq processing on its own stack Greg Kroah-Hartman
2013-10-11 19:39 ` [ 093/110] Revert "drm/radeon: add missing hdmi callbacks for rv6xx" Greg Kroah-Hartman
2013-10-11 19:39 ` [ 094/110] dmaengine: imx-dma: fix lockdep issue between irqhandler and tasklet Greg Kroah-Hartman
2013-10-11 19:39 ` [ 095/110] dmaengine: imx-dma: fix callback path in tasklet Greg Kroah-Hartman
2013-10-11 19:39 ` [ 096/110] dmaengine: imx-dma: fix slow path issue in prep_dma_cyclic Greg Kroah-Hartman
2013-10-11 19:39 ` [ 097/110] ACPI / IPMI: Fix atomic context requirement of ipmi_msg_handler() Greg Kroah-Hartman
2013-10-11 19:39 ` [ 098/110] xfs: fix node forward in xfs_node_toosmall Greg Kroah-Hartman
2013-10-11 19:39 ` [ 099/110] drm/nouveau/bios/init: stub opcode 0xaa Greg Kroah-Hartman
2013-10-11 19:39 ` [ 100/110] ALSA: hda - Fix GPIO for Acer Aspire 3830TG Greg Kroah-Hartman
2013-10-11 19:39 ` [ 101/110] tile: use a more conservative __my_cpu_offset in CONFIG_PREEMPT Greg Kroah-Hartman
2013-10-11 19:39 ` [ 102/110] s390: fix system call restart after inferior call Greg Kroah-Hartman
2013-10-11 19:39 ` [ 103/110] Btrfs: change how we queue blocks for backref checking Greg Kroah-Hartman
2013-10-11 19:39 ` [ 104/110] Btrfs: skip subvol entries when checking if weve created a dir already Greg Kroah-Hartman
2013-10-11 19:39 ` [ 105/110] Btrfs: remove ourselves from the cluster list under lock Greg Kroah-Hartman
2013-10-11 19:39 ` [ 106/110] HID: roccat: add support for KonePureOptical v2 Greg Kroah-Hartman
2013-10-11 19:39 ` [ 107/110] HID: uhid: add devname module alias Greg Kroah-Hartman
2013-10-11 19:39 ` [ 108/110] HID: uhid: allocate static minor Greg Kroah-Hartman
2013-10-11 19:39 ` [ 109/110] net: qmi_wwan: add new Qualcomm devices Greg Kroah-Hartman
2013-10-11 19:39 ` [ 110/110] bcache: Fix a null ptr deref regression Greg Kroah-Hartman
2013-10-11 21:49 ` [ 000/110] 3.10.16-stable review Guenter Roeck
2013-10-11 22:08   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131011193815.021316174@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Linux@riotingpacifist.net \
    --cc=akpm@linux-foundation.org \
    --cc=devel@antoneliasson.se \
    --cc=fercerpav@gmail.com \
    --cc=freeboy6716@gmail.com \
    --cc=hermes@ceres.dti.ne.jp \
    --cc=jeromepoulin@gmail.com \
    --cc=klangga@gmail.com \
    --cc=konishi.ryusuke@lab.ntt.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=slava@dubeyko.com \
    --cc=stable@vger.kernel.org \
    --cc=szarpaj@grubelek.pl \
    --cc=torvalds@linux-foundation.org \
    --cc=zahid.chowdhury@starsolutions.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).