Jaegeuk Kim
8c242db9b8
f2fs: fix stale ATOMIC_WRITTEN_PAGE private pointer
When I forced to enable atomic operations intentionally, I could hit the below
panic, since we didn't clear page->private in f2fs_invalidate_page called by
file truncation.
The panic occurs due to NULL mapping having page->private.
BUG: unable to handle kernel paging request at ffffffffffffffff
IP: drop_buffers+0x38/0xe0
PGD 5d00c067
PUD 5d00e067
PMD 0
CPU: 3 PID: 1648 Comm: fsstress Tainted: G D OE 4.10.0+ #5
Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
task: ffff9151952863c0 task.stack: ffffaaec40db4000
RIP: 0010:drop_buffers+0x38/0xe0
RSP: 0018:ffffaaec40db74c8 EFLAGS: 00010292
Call Trace:
? page_referenced+0x8b/0x170
try_to_free_buffers+0xc5/0xe0
try_to_release_page+0x49/0x50
shrink_page_list+0x8bc/0x9f0
shrink_inactive_list+0x1dd/0x500
? shrink_active_list+0x2c0/0x430
shrink_node_memcg+0x5eb/0x7c0
shrink_node+0xe1/0x320
do_try_to_free_pages+0xef/0x2e0
try_to_free_pages+0xe9/0x190
__alloc_pages_slowpath+0x390/0xe70
__alloc_pages_nodemask+0x291/0x2b0
alloc_pages_current+0x95/0x140
__page_cache_alloc+0xc4/0xe0
pagecache_get_page+0xab/0x2a0
grab_cache_page_write_begin+0x20/0x40
get_read_data_page+0x2e6/0x4c0 [f2fs]
? f2fs_mark_inode_dirty_sync+0x16/0x30 [f2fs]
? truncate_data_blocks_range+0x238/0x2b0 [f2fs]
get_lock_data_page+0x30/0x190 [f2fs]
__exchange_data_block+0xaaf/0xf40 [f2fs]
f2fs_fallocate+0x418/0xd00 [f2fs]
vfs_fallocate+0x157/0x220
SyS_fallocate+0x48/0x80
Signed-off-by: Yunlei He <heyunlei@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
[Chao Yu: use INMEM_INVALIDATE for better tracing]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-03-21 22:34:10 -04:00
..
2017-03-03 21:44:35 -08:00
2016-10-10 20:16:43 -07:00
2017-03-02 08:42:31 +01:00
2017-03-16 16:29:30 +00:00
2017-03-02 08:42:31 +01:00
2017-03-02 08:42:31 +01:00
2016-12-24 11:46:01 -08:00
2017-03-03 11:38:56 -08:00
2017-03-02 08:42:31 +01:00
2017-03-03 11:38:56 -08:00
2017-03-03 16:00:59 -08:00
2017-03-03 11:38:56 -08:00
2016-12-24 11:46:01 -08:00
2017-03-02 10:09:00 +11:00
2017-02-23 20:33:51 -08:00
2016-10-10 20:16:43 -07:00
2017-03-09 18:23:27 -08:00
2017-03-03 11:38:56 -08:00
2016-10-10 20:16:43 -07:00
2016-12-24 11:46:01 -08:00
2017-01-14 11:37:18 +01:00
2017-03-03 11:38:56 -08:00
2017-03-02 08:42:31 +01:00
2017-03-03 11:38:56 -08:00
2017-03-21 22:34:10 -04:00
2017-03-09 17:01:10 -08:00
2017-03-02 10:09:00 +11:00
2017-03-03 12:14:13 -08:00
2017-03-15 10:06:07 -04:00
2017-03-03 21:44:35 -08:00
2017-03-02 08:42:31 +01:00
2016-12-09 16:45:04 +01:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:31 +01:00
2017-02-20 18:24:39 -08:00
2017-03-02 08:42:32 +01:00
2017-02-27 18:43:46 -08:00
2017-03-03 11:38:56 -08:00
2017-03-02 08:42:29 +01:00
2017-03-02 20:51:15 -05:00
2017-03-03 10:16:38 -08:00
2017-03-17 14:16:22 -07:00
2016-11-18 10:59:15 -05:00
2017-03-03 11:38:56 -08:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-09 18:23:27 -08:00
2017-03-02 08:42:31 +01:00
2016-12-24 11:46:01 -08:00
2017-03-03 11:38:56 -08:00
2017-03-08 10:42:13 -08:00
2017-03-03 11:38:56 -08:00
2017-02-24 17:46:57 -08:00
2017-03-02 08:42:31 +01:00
2016-12-24 11:46:01 -08:00
2017-02-27 18:43:46 -08:00
2017-01-24 16:26:14 -08:00
2017-02-24 17:46:57 -08:00
2016-10-14 12:18:50 -07:00
2017-03-02 20:51:15 -05:00
2016-09-27 21:06:21 -04:00
2017-03-02 20:51:15 -05:00
2017-03-02 20:51:15 -05:00
2016-12-24 11:46:01 -08:00
2017-03-15 00:24:25 -07:00
2017-03-03 10:16:38 -08:00
2016-12-24 11:46:01 -08:00
2017-03-02 08:42:29 +01:00
2017-03-02 20:51:15 -05:00
2017-03-02 08:42:36 +01:00
2017-03-02 08:42:39 +01:00
2017-03-02 08:42:39 +01:00
2017-03-02 08:42:36 +01:00
2017-03-02 08:42:37 +01:00
2017-03-02 08:56:59 -07:00
2017-03-02 08:42:37 +01:00
2017-02-01 09:13:51 +01:00
2016-12-24 11:46:01 -08:00
2017-03-02 08:42:31 +01:00
2017-03-02 08:42:36 +01:00
2017-03-02 08:42:37 +01:00
2017-01-10 13:34:43 +13:00
2016-12-24 11:46:01 -08:00
2017-02-27 18:43:46 -08:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:35 +01:00
2017-03-02 08:42:35 +01:00
2016-12-24 11:46:01 -08:00
2017-03-02 08:42:31 +01:00
2017-03-02 08:42:29 +01:00
2016-12-24 11:46:01 -08:00
2017-03-02 08:42:35 +01:00
2017-03-13 08:27:34 -06:00
2016-10-10 20:16:43 -07:00
2017-01-30 16:32:25 -08:00
2017-03-02 08:42:37 +01:00
2017-03-06 09:50:01 -08:00
2017-01-24 16:26:14 -08:00
2016-10-24 08:12:35 -02:00
2017-03-03 11:38:56 -08:00
2016-12-24 11:46:01 -08:00
2016-12-14 23:48:11 -05:00
2016-12-03 15:55:01 -05:00
2017-02-04 00:01:06 +13:00
2017-02-27 18:43:46 -08:00
2017-03-02 06:41:22 -05:00
2017-03-02 08:42:38 +01:00
2017-02-03 14:35:43 +13:00
2017-02-07 15:05:04 +01:00
2016-12-24 11:46:01 -08:00
2017-02-04 00:01:06 +13:00
2017-02-04 00:01:06 +13:00
2017-03-02 08:42:31 +01:00
2017-03-02 08:42:38 +01:00
2017-03-03 10:16:38 -08:00
2016-12-24 11:46:01 -08:00
2017-03-02 08:42:29 +01:00
2016-12-24 11:46:01 -08:00
2017-03-03 10:16:38 -08:00
2017-03-03 11:38:56 -08:00
2016-12-05 19:03:49 -05:00
2017-02-23 20:33:51 -08:00
2017-02-20 16:51:23 +01:00
2017-03-01 12:53:44 +01:00
2017-03-10 08:59:07 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00