All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel BUG at fs/f2fs/node.c:LINE!
@ 2018-04-21 13:02 ` syzbot
  0 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-21 13:02 UTC (permalink / raw)
  To: jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

Hello,

syzbot hit the following crash on upstream commit
83beed7b2b26f232d782127792dd0cd4362fdc41 (Fri Apr 20 17:56:32 2018 +0000)
Merge branch 'fixes' of  
git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal
syzbot dashboard link:  
https://syzkaller.appspot.com/bug?extid=d154ec99402c6f628887

C reproducer: https://syzkaller.appspot.com/x/repro.c?id=5414336294027264
syzkaller reproducer:  
https://syzkaller.appspot.com/x/repro.syz?id=5471683234234368
Raw console output:  
https://syzkaller.appspot.com/x/log.txt?id=5436660795834368
Kernel config:  
https://syzkaller.appspot.com/x/.config?id=1808800213120130118
compiler: gcc (GCC) 8.0.1 20180413 (experimental)

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for  
details.
If you forward the report, please keep this part and the footer.

F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): invalid crc value
------------[ cut here ]------------
kernel BUG at fs/f2fs/node.c:1185!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4549 Comm: syzkaller704305 Not tainted 4.17.0-rc1+ #10
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:__get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185
RSP: 0018:ffff8801d960e820 EFLAGS: 00010293
RAX: ffff8801d88205c0 RBX: 0000000000000003 RCX: ffffffff82f6cc06
RDX: 0000000000000000 RSI: ffffffff82f6d5e8 RDI: 0000000000000004
RBP: ffff8801d960ec30 R08: ffff8801d88205c0 R09: ffffed003b5e46c2
R10: 0000000000000003 R11: 0000000000000003 R12: ffff8801a86e00c0
R13: 0000000000000001 R14: ffff8801a86e0530 R15: ffff8801d9745240
FS:  000000000072c880(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3d403209b8 CR3: 00000001d8f3f000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  get_node_page fs/f2fs/node.c:1237 [inline]
  truncate_xattr_node+0x152/0x2e0 fs/f2fs/node.c:1014
  remove_inode_page+0x200/0xaf0 fs/f2fs/node.c:1039
  f2fs_evict_inode+0xe86/0x1710 fs/f2fs/inode.c:547
  evict+0x4a6/0x960 fs/inode.c:557
  iput_final fs/inode.c:1519 [inline]
  iput+0x62d/0xa80 fs/inode.c:1545
  f2fs_fill_super+0x5f4e/0x7bf0 fs/f2fs/super.c:2849
  mount_bdev+0x30c/0x3e0 fs/super.c:1164
  f2fs_mount+0x34/0x40 fs/f2fs/super.c:3020
  mount_fs+0xae/0x328 fs/super.c:1267
  vfs_kern_mount.part.34+0xd4/0x4d0 fs/namespace.c:1037
  vfs_kern_mount fs/namespace.c:1027 [inline]
  do_new_mount fs/namespace.c:2518 [inline]
  do_mount+0x564/0x3070 fs/namespace.c:2848
  ksys_mount+0x12d/0x140 fs/namespace.c:3064
  __do_sys_mount fs/namespace.c:3078 [inline]
  __se_sys_mount fs/namespace.c:3075 [inline]
  __x64_sys_mount+0xbe/0x150 fs/namespace.c:3075
  do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
  entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x443dea
RSP: 002b:00007ffcc7882368 EFLAGS: 00000297 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000c00 RCX: 0000000000443dea
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffcc7882370
RBP: 0000000000000003 R08: 0000000020016a00 R09: 000000000000000a
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000004
R13: 0000000000402ce0 R14: 0000000000000000 R15: 0000000000000000
Code: ff e9 4f fa ff ff e8 58 5a 82 fe 48 89 df e8 70 ee 9d fe e9 73 f8 ff  
ff e8 46 5a 82 fe 4d 8d 66 ff e9 5a f9 ff ff e8 38 5a 82 fe <0f> 0b 41 bc  
b6 ff ff ff e9 e2 fc ff ff 48 89 95 08 fc ff ff e8
RIP: __get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185 RSP: ffff8801d960e820
---[ end trace 4edbeb71f002bb76 ]---


---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzkaller@googlegroups.com.

syzbot will keep track of this bug report.
If you forgot to add the Reported-by tag, once the fix for this bug is  
merged
into any tree, please reply to this email with:
#syz fix: exact-commit-title
If you want to test a patch for this bug, please reply with:
#syz test: git://repo/address.git branch
and provide the patch inline or as an attachment.
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug  
report.
Note: all commands must start from beginning of the line in the email body.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* kernel BUG at fs/f2fs/node.c:LINE!
@ 2018-04-21 13:02 ` syzbot
  0 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-21 13:02 UTC (permalink / raw)
  To: jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

Hello,

syzbot hit the following crash on upstream commit
83beed7b2b26f232d782127792dd0cd4362fdc41 (Fri Apr 20 17:56:32 2018 +0000)
Merge branch 'fixes' of  
git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal
syzbot dashboard link:  
https://syzkaller.appspot.com/bug?extid=d154ec99402c6f628887

C reproducer: https://syzkaller.appspot.com/x/repro.c?id=5414336294027264
syzkaller reproducer:  
https://syzkaller.appspot.com/x/repro.syz?id=5471683234234368
Raw console output:  
https://syzkaller.appspot.com/x/log.txt?id=5436660795834368
Kernel config:  
https://syzkaller.appspot.com/x/.config?id=1808800213120130118
compiler: gcc (GCC) 8.0.1 20180413 (experimental)

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for  
details.
If you forward the report, please keep this part and the footer.

F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): invalid crc value
------------[ cut here ]------------
kernel BUG at fs/f2fs/node.c:1185!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4549 Comm: syzkaller704305 Not tainted 4.17.0-rc1+ #10
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:__get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185
RSP: 0018:ffff8801d960e820 EFLAGS: 00010293
RAX: ffff8801d88205c0 RBX: 0000000000000003 RCX: ffffffff82f6cc06
RDX: 0000000000000000 RSI: ffffffff82f6d5e8 RDI: 0000000000000004
RBP: ffff8801d960ec30 R08: ffff8801d88205c0 R09: ffffed003b5e46c2
R10: 0000000000000003 R11: 0000000000000003 R12: ffff8801a86e00c0
R13: 0000000000000001 R14: ffff8801a86e0530 R15: ffff8801d9745240
FS:  000000000072c880(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3d403209b8 CR3: 00000001d8f3f000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  get_node_page fs/f2fs/node.c:1237 [inline]
  truncate_xattr_node+0x152/0x2e0 fs/f2fs/node.c:1014
  remove_inode_page+0x200/0xaf0 fs/f2fs/node.c:1039
  f2fs_evict_inode+0xe86/0x1710 fs/f2fs/inode.c:547
  evict+0x4a6/0x960 fs/inode.c:557
  iput_final fs/inode.c:1519 [inline]
  iput+0x62d/0xa80 fs/inode.c:1545
  f2fs_fill_super+0x5f4e/0x7bf0 fs/f2fs/super.c:2849
  mount_bdev+0x30c/0x3e0 fs/super.c:1164
  f2fs_mount+0x34/0x40 fs/f2fs/super.c:3020
  mount_fs+0xae/0x328 fs/super.c:1267
  vfs_kern_mount.part.34+0xd4/0x4d0 fs/namespace.c:1037
  vfs_kern_mount fs/namespace.c:1027 [inline]
  do_new_mount fs/namespace.c:2518 [inline]
  do_mount+0x564/0x3070 fs/namespace.c:2848
  ksys_mount+0x12d/0x140 fs/namespace.c:3064
  __do_sys_mount fs/namespace.c:3078 [inline]
  __se_sys_mount fs/namespace.c:3075 [inline]
  __x64_sys_mount+0xbe/0x150 fs/namespace.c:3075
  do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
  entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x443dea
RSP: 002b:00007ffcc7882368 EFLAGS: 00000297 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000c00 RCX: 0000000000443dea
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffcc7882370
RBP: 0000000000000003 R08: 0000000020016a00 R09: 000000000000000a
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000004
R13: 0000000000402ce0 R14: 0000000000000000 R15: 0000000000000000
Code: ff e9 4f fa ff ff e8 58 5a 82 fe 48 89 df e8 70 ee 9d fe e9 73 f8 ff  
ff e8 46 5a 82 fe 4d 8d 66 ff e9 5a f9 ff ff e8 38 5a 82 fe <0f> 0b 41 bc  
b6 ff ff ff e9 e2 fc ff ff 48 89 95 08 fc ff ff e8
RIP: __get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185 RSP: ffff8801d960e820
---[ end trace 4edbeb71f002bb76 ]---


---
This bug is generated by a dumb bot. It may contain errors.
See https://goo.gl/tpsmEJ for details.
Direct all questions to syzkaller@googlegroups.com.

syzbot will keep track of this bug report.
If you forgot to add the Reported-by tag, once the fix for this bug is  
merged
into any tree, please reply to this email with:
#syz fix: exact-commit-title
If you want to test a patch for this bug, please reply with:
#syz test: git://repo/address.git branch
and provide the patch inline or as an attachment.
To mark this as a duplicate of another syzbot report, please reply with:
#syz dup: exact-subject-of-another-report
If it's a one-off invalid bug report, please reply with:
#syz invalid
Note: if the crash happens again, it will cause creation of a new bug  
report.
Note: all commands must start from beginning of the line in the email body.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-21 13:02 ` syzbot
  (?)
@ 2018-04-24  6:01 ` Jaegeuk Kim
  2018-04-24  6:04   ` syzbot
  -1 siblings, 1 reply; 12+ messages in thread
From: Jaegeuk Kim @ 2018-04-24  6:01 UTC (permalink / raw)
  To: syzbot; +Cc: linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

[-- Attachment #1: Type: text/plain, Size: 84 bytes --]

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test


[-- Attachment #2: 0001-f2fs-give-message-and-set-need_fsck-given-broken-nod.patch --]
[-- Type: text/plain, Size: 7358 bytes --]

>From 65b966f58e8264477da6c8b70703ce362cb1f8f0 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim <jaegeuk@kernel.org>
Date: Mon, 23 Apr 2018 23:02:31 -0600
Subject: [PATCH] f2fs: give message and set need_fsck given broken node id

syzbot hit the following crash on upstream commit
83beed7b2b26f232d782127792dd0cd4362fdc41 (Fri Apr 20 17:56:32 2018 +0000)
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal
syzbot dashboard link: https://syzkaller.appspot.com/bug?extid=d154ec99402c6f628887

C reproducer: https://syzkaller.appspot.com/x/repro.c?id=5414336294027264
syzkaller reproducer: https://syzkaller.appspot.com/x/repro.syz?id=5471683234234368
Raw console output: https://syzkaller.appspot.com/x/log.txt?id=5436660795834368
Kernel config: https://syzkaller.appspot.com/x/.config?id=1808800213120130118
compiler: gcc (GCC) 8.0.1 20180413 (experimental)

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for details.
If you forward the report, please keep this part and the footer.

F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): invalid crc value
------------[ cut here ]------------
kernel BUG at fs/f2fs/node.c:1185!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
   (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4549 Comm: syzkaller704305 Not tainted 4.17.0-rc1+ #10
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185
RSP: 0018:ffff8801d960e820 EFLAGS: 00010293
RAX: ffff8801d88205c0 RBX: 0000000000000003 RCX: ffffffff82f6cc06
RDX: 0000000000000000 RSI: ffffffff82f6d5e8 RDI: 0000000000000004
RBP: ffff8801d960ec30 R08: ffff8801d88205c0 R09: ffffed003b5e46c2
R10: 0000000000000003 R11: 0000000000000003 R12: ffff8801a86e00c0
R13: 0000000000000001 R14: ffff8801a86e0530 R15: ffff8801d9745240
FS:  000000000072c880(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3d403209b8 CR3: 00000001d8f3f000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 get_node_page fs/f2fs/node.c:1237 [inline]
 truncate_xattr_node+0x152/0x2e0 fs/f2fs/node.c:1014
 remove_inode_page+0x200/0xaf0 fs/f2fs/node.c:1039
 f2fs_evict_inode+0xe86/0x1710 fs/f2fs/inode.c:547
 evict+0x4a6/0x960 fs/inode.c:557
 iput_final fs/inode.c:1519 [inline]
 iput+0x62d/0xa80 fs/inode.c:1545
 f2fs_fill_super+0x5f4e/0x7bf0 fs/f2fs/super.c:2849
 mount_bdev+0x30c/0x3e0 fs/super.c:1164
 f2fs_mount+0x34/0x40 fs/f2fs/super.c:3020
 mount_fs+0xae/0x328 fs/super.c:1267
 vfs_kern_mount.part.34+0xd4/0x4d0 fs/namespace.c:1037
 vfs_kern_mount fs/namespace.c:1027 [inline]
 do_new_mount fs/namespace.c:2518 [inline]
 do_mount+0x564/0x3070 fs/namespace.c:2848
 ksys_mount+0x12d/0x140 fs/namespace.c:3064
 __do_sys_mount fs/namespace.c:3078 [inline]
 __se_sys_mount fs/namespace.c:3075 [inline]
 __x64_sys_mount+0xbe/0x150 fs/namespace.c:3075
 do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x443dea
RSP: 002b:00007ffcc7882368 EFLAGS: 00000297 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000c00 RCX: 0000000000443dea
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffcc7882370
RBP: 0000000000000003 R08: 0000000020016a00 R09: 000000000000000a
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000004
R13: 0000000000402ce0 R14: 0000000000000000 R15: 0000000000000000
RIP: __get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185 RSP: ffff8801d960e820
---[ end trace 4edbeb71f002bb76 ]---

Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/f2fs.h  | 13 +------------
 fs/f2fs/inode.c |  6 +-----
 fs/f2fs/node.c  | 23 +++++++++++++++++++++--
 3 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 8f3ad9662d13..d26aae5bf00d 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1583,18 +1583,6 @@ static inline bool __exist_node_summaries(struct f2fs_sb_info *sbi)
 			is_set_ckpt_flags(sbi, CP_FASTBOOT_FLAG));
 }
 
-/*
- * Check whether the given nid is within node id range.
- */
-static inline int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid)
-{
-	if (unlikely(nid < F2FS_ROOT_INO(sbi)))
-		return -EINVAL;
-	if (unlikely(nid >= NM_I(sbi)->max_nid))
-		return -EINVAL;
-	return 0;
-}
-
 /*
  * Check whether the inode has blocks or not
  */
@@ -2768,6 +2756,7 @@ f2fs_hash_t f2fs_dentry_hash(const struct qstr *name_info,
 struct dnode_of_data;
 struct node_info;
 
+int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid);
 bool available_free_memory(struct f2fs_sb_info *sbi, int type);
 int need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid);
 bool is_checkpointed_node(struct f2fs_sb_info *sbi, nid_t nid);
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index 176f8e84bb6e..ec7228af1f62 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -194,12 +194,8 @@ static int do_read_inode(struct inode *inode)
 	projid_t i_projid;
 
 	/* Check if ino is within scope */
-	if (check_nid_range(sbi, inode->i_ino)) {
-		f2fs_msg(inode->i_sb, KERN_ERR, "bad inode number: %lu",
-			 (unsigned long) inode->i_ino);
-		WARN_ON(1);
+	if (check_nid_range(sbi, inode->i_ino))
 		return -EINVAL;
-	}
 
 	node_page = get_node_page(sbi, inode->i_ino);
 	if (IS_ERR(node_page))
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 3a3d38b3e9ec..2dd34cd980b1 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -29,6 +29,21 @@ static struct kmem_cache *nat_entry_slab;
 static struct kmem_cache *free_nid_slab;
 static struct kmem_cache *nat_entry_set_slab;
 
+/*
+ * Check whether the given nid is within node id range.
+ */
+int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid)
+{
+	if (unlikely(nid < F2FS_ROOT_INO(sbi) || nid >= NM_I(sbi)->max_nid)) {
+		set_sbi_flag(sbi, SBI_NEED_FSCK);
+		f2fs_msg(sbi->sb, KERN_WARNING,
+				"%s: out-of-range nid=%x, run fsck to fix.",
+				__func__, nid);
+		return -EINVAL;
+	}
+	return 0;
+}
+
 bool available_free_memory(struct f2fs_sb_info *sbi, int type)
 {
 	struct f2fs_nm_info *nm_i = NM_I(sbi);
@@ -1010,6 +1025,8 @@ int truncate_xattr_node(struct inode *inode)
 
 	if (!nid)
 		return 0;
+	if (check_nid_range(sbi, nid))
+		return -EINVAL;
 
 	npage = get_node_page(sbi, nid);
 	if (IS_ERR(npage))
@@ -1158,7 +1175,8 @@ void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid)
 
 	if (!nid)
 		return;
-	f2fs_bug_on(sbi, check_nid_range(sbi, nid));
+	if (check_nid_range(sbi, nid))
+		return;
 
 	rcu_read_lock();
 	apage = radix_tree_lookup(&NODE_MAPPING(sbi)->i_pages, nid);
@@ -1182,7 +1200,8 @@ static struct page *__get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid,
 
 	if (!nid)
 		return ERR_PTR(-ENOENT);
-	f2fs_bug_on(sbi, check_nid_range(sbi, nid));
+	if (check_nid_range(sbi, nid))
+		return ERR_PTR(-EINVAL);
 repeat:
 	page = f2fs_grab_cache_page(NODE_MAPPING(sbi), nid, false);
 	if (!page)
-- 
2.17.0.484.g0c8726318c-goog


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-24  6:01 ` Jaegeuk Kim
@ 2018-04-24  6:04   ` syzbot
  0 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-24  6:04 UTC (permalink / raw)
  To: jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

Hello,

syzbot tried to test the proposed patch but build/boot failed:

patch is already applied


Tested on  
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev-test  
commit
65b966f58e8264477da6c8b70703ce362cb1f8f0 (Tue Apr 24 05:02:31 2018 +0000)
f2fs: give message and set need_fsck given broken node id

compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Patch: https://syzkaller.appspot.com/x/patch.diff?id=5525459446005760

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-21 13:02 ` syzbot
  (?)
  (?)
@ 2018-04-24  6:20 ` Jaegeuk Kim
  2018-04-24  6:42     ` syzbot
  -1 siblings, 1 reply; 12+ messages in thread
From: Jaegeuk Kim @ 2018-04-24  6:20 UTC (permalink / raw)
  To: syzbot; +Cc: linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

[-- Attachment #1: Type: text/plain, Size: 78 bytes --]

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev

[-- Attachment #2: 0001-f2fs-give-message-and-set-need_fsck-given-broken-nod.patch --]
[-- Type: text/plain, Size: 7358 bytes --]

>From 65b966f58e8264477da6c8b70703ce362cb1f8f0 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim <jaegeuk@kernel.org>
Date: Mon, 23 Apr 2018 23:02:31 -0600
Subject: [PATCH] f2fs: give message and set need_fsck given broken node id

syzbot hit the following crash on upstream commit
83beed7b2b26f232d782127792dd0cd4362fdc41 (Fri Apr 20 17:56:32 2018 +0000)
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal
syzbot dashboard link: https://syzkaller.appspot.com/bug?extid=d154ec99402c6f628887

C reproducer: https://syzkaller.appspot.com/x/repro.c?id=5414336294027264
syzkaller reproducer: https://syzkaller.appspot.com/x/repro.syz?id=5471683234234368
Raw console output: https://syzkaller.appspot.com/x/log.txt?id=5436660795834368
Kernel config: https://syzkaller.appspot.com/x/.config?id=1808800213120130118
compiler: gcc (GCC) 8.0.1 20180413 (experimental)

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
It will help syzbot understand when the bug is fixed. See footer for details.
If you forward the report, please keep this part and the footer.

F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): invalid crc value
------------[ cut here ]------------
kernel BUG at fs/f2fs/node.c:1185!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
   (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4549 Comm: syzkaller704305 Not tainted 4.17.0-rc1+ #10
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185
RSP: 0018:ffff8801d960e820 EFLAGS: 00010293
RAX: ffff8801d88205c0 RBX: 0000000000000003 RCX: ffffffff82f6cc06
RDX: 0000000000000000 RSI: ffffffff82f6d5e8 RDI: 0000000000000004
RBP: ffff8801d960ec30 R08: ffff8801d88205c0 R09: ffffed003b5e46c2
R10: 0000000000000003 R11: 0000000000000003 R12: ffff8801a86e00c0
R13: 0000000000000001 R14: ffff8801a86e0530 R15: ffff8801d9745240
FS:  000000000072c880(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3d403209b8 CR3: 00000001d8f3f000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 get_node_page fs/f2fs/node.c:1237 [inline]
 truncate_xattr_node+0x152/0x2e0 fs/f2fs/node.c:1014
 remove_inode_page+0x200/0xaf0 fs/f2fs/node.c:1039
 f2fs_evict_inode+0xe86/0x1710 fs/f2fs/inode.c:547
 evict+0x4a6/0x960 fs/inode.c:557
 iput_final fs/inode.c:1519 [inline]
 iput+0x62d/0xa80 fs/inode.c:1545
 f2fs_fill_super+0x5f4e/0x7bf0 fs/f2fs/super.c:2849
 mount_bdev+0x30c/0x3e0 fs/super.c:1164
 f2fs_mount+0x34/0x40 fs/f2fs/super.c:3020
 mount_fs+0xae/0x328 fs/super.c:1267
 vfs_kern_mount.part.34+0xd4/0x4d0 fs/namespace.c:1037
 vfs_kern_mount fs/namespace.c:1027 [inline]
 do_new_mount fs/namespace.c:2518 [inline]
 do_mount+0x564/0x3070 fs/namespace.c:2848
 ksys_mount+0x12d/0x140 fs/namespace.c:3064
 __do_sys_mount fs/namespace.c:3078 [inline]
 __se_sys_mount fs/namespace.c:3075 [inline]
 __x64_sys_mount+0xbe/0x150 fs/namespace.c:3075
 do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x443dea
RSP: 002b:00007ffcc7882368 EFLAGS: 00000297 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000c00 RCX: 0000000000443dea
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffcc7882370
RBP: 0000000000000003 R08: 0000000020016a00 R09: 000000000000000a
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000004
R13: 0000000000402ce0 R14: 0000000000000000 R15: 0000000000000000
RIP: __get_node_page+0xb68/0x16e0 fs/f2fs/node.c:1185 RSP: ffff8801d960e820
---[ end trace 4edbeb71f002bb76 ]---

Reported-by: syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/f2fs.h  | 13 +------------
 fs/f2fs/inode.c |  6 +-----
 fs/f2fs/node.c  | 23 +++++++++++++++++++++--
 3 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 8f3ad9662d13..d26aae5bf00d 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1583,18 +1583,6 @@ static inline bool __exist_node_summaries(struct f2fs_sb_info *sbi)
 			is_set_ckpt_flags(sbi, CP_FASTBOOT_FLAG));
 }
 
-/*
- * Check whether the given nid is within node id range.
- */
-static inline int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid)
-{
-	if (unlikely(nid < F2FS_ROOT_INO(sbi)))
-		return -EINVAL;
-	if (unlikely(nid >= NM_I(sbi)->max_nid))
-		return -EINVAL;
-	return 0;
-}
-
 /*
  * Check whether the inode has blocks or not
  */
@@ -2768,6 +2756,7 @@ f2fs_hash_t f2fs_dentry_hash(const struct qstr *name_info,
 struct dnode_of_data;
 struct node_info;
 
+int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid);
 bool available_free_memory(struct f2fs_sb_info *sbi, int type);
 int need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid);
 bool is_checkpointed_node(struct f2fs_sb_info *sbi, nid_t nid);
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index 176f8e84bb6e..ec7228af1f62 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -194,12 +194,8 @@ static int do_read_inode(struct inode *inode)
 	projid_t i_projid;
 
 	/* Check if ino is within scope */
-	if (check_nid_range(sbi, inode->i_ino)) {
-		f2fs_msg(inode->i_sb, KERN_ERR, "bad inode number: %lu",
-			 (unsigned long) inode->i_ino);
-		WARN_ON(1);
+	if (check_nid_range(sbi, inode->i_ino))
 		return -EINVAL;
-	}
 
 	node_page = get_node_page(sbi, inode->i_ino);
 	if (IS_ERR(node_page))
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 3a3d38b3e9ec..2dd34cd980b1 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -29,6 +29,21 @@ static struct kmem_cache *nat_entry_slab;
 static struct kmem_cache *free_nid_slab;
 static struct kmem_cache *nat_entry_set_slab;
 
+/*
+ * Check whether the given nid is within node id range.
+ */
+int check_nid_range(struct f2fs_sb_info *sbi, nid_t nid)
+{
+	if (unlikely(nid < F2FS_ROOT_INO(sbi) || nid >= NM_I(sbi)->max_nid)) {
+		set_sbi_flag(sbi, SBI_NEED_FSCK);
+		f2fs_msg(sbi->sb, KERN_WARNING,
+				"%s: out-of-range nid=%x, run fsck to fix.",
+				__func__, nid);
+		return -EINVAL;
+	}
+	return 0;
+}
+
 bool available_free_memory(struct f2fs_sb_info *sbi, int type)
 {
 	struct f2fs_nm_info *nm_i = NM_I(sbi);
@@ -1010,6 +1025,8 @@ int truncate_xattr_node(struct inode *inode)
 
 	if (!nid)
 		return 0;
+	if (check_nid_range(sbi, nid))
+		return -EINVAL;
 
 	npage = get_node_page(sbi, nid);
 	if (IS_ERR(npage))
@@ -1158,7 +1175,8 @@ void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid)
 
 	if (!nid)
 		return;
-	f2fs_bug_on(sbi, check_nid_range(sbi, nid));
+	if (check_nid_range(sbi, nid))
+		return;
 
 	rcu_read_lock();
 	apage = radix_tree_lookup(&NODE_MAPPING(sbi)->i_pages, nid);
@@ -1182,7 +1200,8 @@ static struct page *__get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid,
 
 	if (!nid)
 		return ERR_PTR(-ENOENT);
-	f2fs_bug_on(sbi, check_nid_range(sbi, nid));
+	if (check_nid_range(sbi, nid))
+		return ERR_PTR(-EINVAL);
 repeat:
 	page = f2fs_grab_cache_page(NODE_MAPPING(sbi), nid, false);
 	if (!page)
-- 
2.17.0.484.g0c8726318c-goog


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-24  6:20 ` Jaegeuk Kim
@ 2018-04-24  6:42     ` syzbot
  0 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-24  6:42 UTC (permalink / raw)
  To: jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

Hello,

syzbot tried to test the proposed patch but build/boot failed:

failed to create VM pool: failed to create GCE image: failed to get create  
image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:  
googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded


Tested on  
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev commit
b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
f2fs: check cap_resource only for data blocks

compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
Kernel config:  
https://syzkaller.appspot.com/x/.config?id=1808800213120130118

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
@ 2018-04-24  6:42     ` syzbot
  0 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-24  6:42 UTC (permalink / raw)
  To: jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs, yuchao0

Hello,

syzbot tried to test the proposed patch but build/boot failed:

failed to create VM pool: failed to create GCE image: failed to get create  
image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:  
googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded


Tested on  
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev commit
b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
f2fs: check cap_resource only for data blocks

compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
Kernel config:  
https://syzkaller.appspot.com/x/.config?id=1808800213120130118



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-24  6:42     ` syzbot
@ 2018-04-24 14:28       ` Dmitry Vyukov via Linux-f2fs-devel
  -1 siblings, 0 replies; 12+ messages in thread
From: Dmitry Vyukov @ 2018-04-24 14:28 UTC (permalink / raw)
  To: syzbot; +Cc: jaegeuk, linux-f2fs-devel, LKML, syzkaller-bugs, yuchao0

On Tue, Apr 24, 2018 at 8:42 AM, syzbot
<syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com> wrote:
> Hello,
>
> syzbot tried to test the proposed patch but build/boot failed:
>
> failed to create VM pool: failed to create GCE image: failed to get create
> image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:
> googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded
>
>
> Tested on git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev
> commit
> b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
> f2fs: check cap_resource only for data blocks
>
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
> Kernel config:
> https://syzkaller.appspot.com/x/.config?id=1808800213120130118

Hi Jaegeuk,

Re the last failure (rate limiting), now should be fixed with:
https://github.com/google/syzkaller/commit/e2f4bf8f3818d49baf0f3789add75d5fd506ad8d
which adds some backoff-and-retry logic.

Re the first one, do I understand it correctly that dev-test already
contains the fix that you want to test?
We did not foresee such case initially, but you are not the first one
to try this. I've added support for testing without a patch now:
https://github.com/google/syzkaller/commit/9366d03f001170479319878905031f63d4377c46
and updated the docs:
https://github.com/google/syzkaller/blob/master/docs/syzbot.md#testing-patches

So now this should work:

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
dev-test

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
@ 2018-04-24 14:28       ` Dmitry Vyukov via Linux-f2fs-devel
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Vyukov via Linux-f2fs-devel @ 2018-04-24 14:28 UTC (permalink / raw)
  To: syzbot; +Cc: jaegeuk, syzkaller-bugs, LKML, linux-f2fs-devel

On Tue, Apr 24, 2018 at 8:42 AM, syzbot
<syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com> wrote:
> Hello,
>
> syzbot tried to test the proposed patch but build/boot failed:
>
> failed to create VM pool: failed to create GCE image: failed to get create
> image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:
> googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded
>
>
> Tested on git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev
> commit
> b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
> f2fs: check cap_resource only for data blocks
>
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
> Kernel config:
> https://syzkaller.appspot.com/x/.config?id=1808800213120130118

Hi Jaegeuk,

Re the last failure (rate limiting), now should be fixed with:
https://github.com/google/syzkaller/commit/e2f4bf8f3818d49baf0f3789add75d5fd506ad8d
which adds some backoff-and-retry logic.

Re the first one, do I understand it correctly that dev-test already
contains the fix that you want to test?
We did not foresee such case initially, but you are not the first one
to try this. I've added support for testing without a patch now:
https://github.com/google/syzkaller/commit/9366d03f001170479319878905031f63d4377c46
and updated the docs:
https://github.com/google/syzkaller/blob/master/docs/syzbot.md#testing-patches

So now this should work:

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
dev-test

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-24 14:28       ` Dmitry Vyukov via Linux-f2fs-devel
  (?)
@ 2018-04-24 14:42       ` syzbot
  -1 siblings, 0 replies; 12+ messages in thread
From: syzbot @ 2018-04-24 14:42 UTC (permalink / raw)
  To: dvyukov, jaegeuk, linux-f2fs-devel, linux-kernel, syzkaller-bugs,
	yuchao0

Hello,

syzbot has tested the proposed patch but the reproducer still triggered  
crash:
kernel BUG at fs/f2fs/inode.c:LINE!

F2FS-fs (loop5): invalid crc value
F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop5): check_nid_range: out-of-range nid=1, run fsck to fix.
------------[ cut here ]------------
kernel BUG at fs/f2fs/inode.c:588!
invalid opcode: 0000 [#1] SMP KASAN
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:
CPU: 1 PID: 4848 Comm: syz-executor5 Not tainted 4.17.0-rc1+ #1
F2FS-fs (loop0): invalid crc value
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:f2fs_evict_inode+0x1344/0x1710 fs/f2fs/inode.c:587
RSP: 0018:ffff8801bf96ef10 EFLAGS: 00010293
RAX: ffff8801abfa8040 RBX: ffff8801a8957080 RCX: ffffffff82eb2fc6
RDX: 0000000000000000 RSI: ffffffff82eb2fd4 RDI: 0000000000000001
RBP: ffff8801bf96f0f8 R08: ffff8801abfa8040 R09: ffffed003a0331b5
F2FS-fs (loop6): Magic Mismatch, valid(0xf2f52010) - read(0x0)
R10: ffffed003a0331b5 R11: ffff8801d0198dab R12: 0000000000000000
R13: 00000000ffffffea R14: 0000000000000000 R15: 0000000000000001
FS:  00007febdf624700(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000
F2FS-fs (loop6): Can't find valid F2FS filesystem in 1th superblock
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000002431228 CR3: 00000001d7686000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
F2FS-fs (loop0): check_nid_range: out-of-range nid=1, run fsck to fix.
Call Trace:
------------[ cut here ]------------
kernel BUG at fs/f2fs/inode.c:588!
  evict+0x4a6/0x960 fs/inode.c:557
  iput_final fs/inode.c:1519 [inline]
  iput+0x62d/0xa80 fs/inode.c:1545
  f2fs_fill_super+0x5f4e/0x7bf0 fs/f2fs/super.c:2849
  mount_bdev+0x30c/0x3e0 fs/super.c:1165
  f2fs_mount+0x34/0x40 fs/f2fs/super.c:3020
  mount_fs+0xae/0x328 fs/super.c:1268
  vfs_kern_mount.part.34+0xd4/0x4d0 fs/namespace.c:1037
  vfs_kern_mount fs/namespace.c:1027 [inline]
  do_new_mount fs/namespace.c:2517 [inline]
  do_mount+0x564/0x3070 fs/namespace.c:2847
  ksys_mount+0x12d/0x140 fs/namespace.c:3063
  __do_sys_mount fs/namespace.c:3077 [inline]
  __se_sys_mount fs/namespace.c:3074 [inline]
  __x64_sys_mount+0xbe/0x150 fs/namespace.c:3074
  do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
  entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x457dba
RSP: 002b:00007febdf623ba8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000000 RCX: 0000000000457dba
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007febdf623bf0
RBP: 000000000000006a R08: 0000000020016a00 R09: 0000000020000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003
R13: 000000000000006a R14: 00000000006fcb80 R15: 0000000000000000
Code: 5e 03 00 00 8b 73 40 4c 89 e7 31 d2 e8 c6 e1 05 00 31 ff 41 89 c4 89  
c6 e8 2a 01 8e fe 45 84 e4 0f 85 b1 f3 ff ff e8 4c 00 8e fe <0f> 0b e8 85  
5a ca fe e9 c7 ee ff ff e8 7b 5a ca fe e9 10 ef ff
RIP: f2fs_evict_inode+0x1344/0x1710 fs/f2fs/inode.c:587 RSP:  
ffff8801bf96ef10
invalid opcode: 0000 [#2] SMP KASAN
---[ end trace a8c4607d38f9047d ]---
Dumping ftrace buffer:
    (ftrace buffer empty)
Modules linked in:


Tested on  
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev-test  
commit
65b966f58e8264477da6c8b70703ce362cb1f8f0 (Tue Apr 24 05:02:31 2018 +0000)
f2fs: give message and set need_fsck given broken node id

compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Kernel config:  
https://syzkaller.appspot.com/x/.config?id=1808800213120130118
Raw console output:  
https://syzkaller.appspot.com/x/log.txt?id=5916974974500864

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
  2018-04-24 14:28       ` Dmitry Vyukov via Linux-f2fs-devel
@ 2018-04-24 16:27         ` Jaegeuk Kim
  -1 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2018-04-24 16:27 UTC (permalink / raw)
  To: Dmitry Vyukov; +Cc: syzbot, linux-f2fs-devel, LKML, syzkaller-bugs, yuchao0

On 04/24, Dmitry Vyukov wrote:
> On Tue, Apr 24, 2018 at 8:42 AM, syzbot
> <syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com> wrote:
> > Hello,
> >
> > syzbot tried to test the proposed patch but build/boot failed:
> >
> > failed to create VM pool: failed to create GCE image: failed to get create
> > image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:
> > googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded
> >
> >
> > Tested on git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev
> > commit
> > b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
> > f2fs: check cap_resource only for data blocks
> >
> > compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> > Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
> > Kernel config:
> > https://syzkaller.appspot.com/x/.config?id=1808800213120130118
> 
> Hi Jaegeuk,
> 
> Re the last failure (rate limiting), now should be fixed with:
> https://github.com/google/syzkaller/commit/e2f4bf8f3818d49baf0f3789add75d5fd506ad8d
> which adds some backoff-and-retry logic.
> 
> Re the first one, do I understand it correctly that dev-test already
> contains the fix that you want to test?
> We did not foresee such case initially, but you are not the first one
> to try this. I've added support for testing without a patch now:
> https://github.com/google/syzkaller/commit/9366d03f001170479319878905031f63d4377c46
> and updated the docs:
> https://github.com/google/syzkaller/blob/master/docs/syzbot.md#testing-patches
> 
> So now this should work:
> 
> #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
> dev-test

Cool! Thank you so much.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: kernel BUG at fs/f2fs/node.c:LINE!
@ 2018-04-24 16:27         ` Jaegeuk Kim
  0 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2018-04-24 16:27 UTC (permalink / raw)
  To: Dmitry Vyukov; +Cc: linux-f2fs-devel, syzkaller-bugs, LKML, syzbot

On 04/24, Dmitry Vyukov wrote:
> On Tue, Apr 24, 2018 at 8:42 AM, syzbot
> <syzbot+d154ec99402c6f628887@syzkaller.appspotmail.com> wrote:
> > Hello,
> >
> > syzbot tried to test the proposed patch but build/boot failed:
> >
> > failed to create VM pool: failed to create GCE image: failed to get create
> > image operation operation-1524552040215-56a926ecc71d9-3edfeb8b-8abca81c:
> > googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded
> >
> >
> > Tested on git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/dev
> > commit
> > b549e322861b99f1862fb5f08dfb5e5753a38635 (Sat Apr 21 06:44:59 2018 +0000)
> > f2fs: check cap_resource only for data blocks
> >
> > compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> > Patch: https://syzkaller.appspot.com/x/patch.diff?id=5565179303559168
> > Kernel config:
> > https://syzkaller.appspot.com/x/.config?id=1808800213120130118
> 
> Hi Jaegeuk,
> 
> Re the last failure (rate limiting), now should be fixed with:
> https://github.com/google/syzkaller/commit/e2f4bf8f3818d49baf0f3789add75d5fd506ad8d
> which adds some backoff-and-retry logic.
> 
> Re the first one, do I understand it correctly that dev-test already
> contains the fix that you want to test?
> We did not foresee such case initially, but you are not the first one
> to try this. I've added support for testing without a patch now:
> https://github.com/google/syzkaller/commit/9366d03f001170479319878905031f63d4377c46
> and updated the docs:
> https://github.com/google/syzkaller/blob/master/docs/syzbot.md#testing-patches
> 
> So now this should work:
> 
> #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
> dev-test

Cool! Thank you so much.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-04-24 16:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-21 13:02 kernel BUG at fs/f2fs/node.c:LINE! syzbot
2018-04-21 13:02 ` syzbot
2018-04-24  6:01 ` Jaegeuk Kim
2018-04-24  6:04   ` syzbot
2018-04-24  6:20 ` Jaegeuk Kim
2018-04-24  6:42   ` syzbot
2018-04-24  6:42     ` syzbot
2018-04-24 14:28     ` Dmitry Vyukov
2018-04-24 14:28       ` Dmitry Vyukov via Linux-f2fs-devel
2018-04-24 14:42       ` syzbot
2018-04-24 16:27       ` Jaegeuk Kim
2018-04-24 16:27         ` Jaegeuk Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.