Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git mount-context
commit f7799478647445b3d902d0476b282a14f10c1fd3
Author: David Howells <dhowells(a)redhat.com>
AuthorDate: Mon Jul 17 08:51:45 2017 +0100
Commit: David Howells <dhowells(a)redhat.com>
CommitDate: Fri Jul 21 16:06:58 2017 +0100
VFS: Implement a filesystem superblock creation/configuration context
Implement a filesystem context concept to be used during superblock
creation for mount and superblock reconfiguration for remount.
The mounting procedure then becomes:
(1) Allocate new fs_context context.
(2) Configure the context.
(3) Create superblock.
(4) Mount the superblock any number of times.
(5) Destroy the context.
Rather than calling fs_type->mount(), an fs_context struct is created and
fs_type->init_fs_context() is called to set it up.
fs_type->fs_context_size says how much space should be allocated for the
config context. The fs_context struct is placed at the beginning and any
extra space is for the filesystem's use.
A set of operations has to be set by ->init_fs_context() to provide
freeing, duplication, option parsing, binary data parsing, validation,
mounting and superblock filling.
Legacy filesystems are supported by the provision of a set of legacy
fs_context operations that build up a list of mount options and then invoke
fs_type->mount() from within the fs_context ->get_tree() operation. This
allows all filesystems to be accessed using fs_context.
It should be noted that, whilst this patch adds a lot of lines of code,
there is quite a bit of duplication with existing code that can be
eliminated should all filesystems be converted over.
Signed-off-by: David Howells <dhowells(a)redhat.com>
09d303223d VFS: Add LSM hooks for filesystem context
f779947864 VFS: Implement a filesystem superblock creation/configuration context
+-------------------------------+------------+------------+
| | 09d303223d | f779947864 |
+-------------------------------+------------+------------+
| boot_successes | 33 | 0 |
| boot_failures | 0 | 13 |
| BUG:KASAN:stack-out-of-bounds | 0 | 13 |
+-------------------------------+------------+------------+
[ 1.162398] clocksource: Switched to clocksource kvm-clock
[ 1.171558] Warning: could not register annotated branches stats
[ 1.261727] VFS: Disk quotas dquot_6.6.0
[ 1.262549] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 1.263923] ==================================================================
[ 1.265078] BUG: KASAN: stack-out-of-bounds in legacy_monolithic_mount_data+0xf7/0x120
[ 1.266342] Read of size 4096 at addr ffff88001a09fd98 by task swapper/0/1
[ 1.267449]
[ 1.267726] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.13.0-rc1-00011-gf779947 #1
[ 1.268940] Call Trace:
[ 1.269359] dump_stack+0x86/0xc3
[ 1.269920] print_address_description+0x7d/0x2d0
[ 1.270030] ? legacy_monolithic_mount_data+0xf7/0x120
[ 1.270030] kasan_report+0x226/0x3a0
[ 1.270030] check_memory_region+0x183/0x190
[ 1.270030] memcpy+0x23/0x50
[ 1.270030] legacy_monolithic_mount_data+0xf7/0x120
[ 1.270030] ? kstrdup+0x47/0x60
[ 1.270030] vfs_kern_mount+0xc7/0x180
[ 1.270030] ? _raw_write_unlock+0x69/0x80
[ 1.270030] kern_mount_data+0x48/0x50
[ 1.270030] init_hugetlbfs_fs+0x1e9/0x3be
[ 1.270030] ? init_ramfs_fs+0x27/0x27
[ 1.270030] ? proc_create_data+0x13b/0x160
[ 1.270030] ? init_ramfs_fs+0x27/0x27
[ 1.270030] do_one_initcall+0x117/0x22d
[ 1.270030] ? start_kernel+0x5e2/0x5e2
[ 1.270030] ? preempt_count_sub+0x225/0x250
[ 1.270030] ? _raw_spin_unlock_irqrestore+0x91/0xa0
[ 1.270030] kernel_init_freeable+0x2b1/0x35a
[ 1.270030] ? rest_init+0x260/0x260
[ 1.270030] kernel_init+0x13/0x120
[ 1.270030] ? rest_init+0x260/0x260
[ 1.270030] ret_from_fork+0x2a/0x40
[ 1.270030]
[ 1.270030] The buggy address belongs to the page:
[ 1.270030] page:ffffea00006827c0 count:0 mapcount:0 mapping: (null)
index:0x0
[ 1.270030] flags: 0x0()
[ 1.270030] raw: 0000000000000000 0000000000000000 0000000000000000 00000000ffffffff
# HH:MM RESULT GOOD BAD
GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 63897d0a68483a4d1e8658e0302592b0051b61cc
520eccdfe187591a51ea9ab4c1a024ae4d0f68d9 --
git bisect bad 28f0ec69b89219b1446f5db1391575c58346b662 # 00:58 B 0 11 23 0
Merge 'asoc/fix/sh' into devel-spot-201707282357
git bisect bad 23210f2c3679dd72fb18dc55b30f7694471cdba9 # 01:10 B 0 7 19 0
Merge 'djwong-xfs/djwong-wtf' into devel-spot-201707282357
git bisect bad b27d71a5148dd96df973a61863ffedb7c9504568 # 01:19 B 0 8 20 0
Merge 'wq/for-next' into devel-spot-201707282357
git bisect bad b71ef7bb5dcab3f05ca69eb74fb9a83985c5c32e # 01:35 B 0 11 24 1
Merge 'gfs2/for-next' into devel-spot-201707282357
git bisect good 84c5650d287f764b8e98d526c93ad5a26265e2d2 # 01:46 G 11 0 0 0
0day base guard for 'devel-spot-201707282357'
git bisect bad 2f4ef6b81a73c6c65f1d8f1ee2f3dd89685ceba8 # 01:55 B 0 11 23 0
Merge 'dhowells-fs/mount-context' into devel-spot-201707282357
git bisect bad c63bd789b3d6cdbbc9bea26e4903ac0fc2885ac7 # 02:04 B 0 11 23 0
VFS: Add a sample program for fsopen/fsmount
git bisect good c9193f84c3731206304fe07bc840269ebbb3f23b # 02:17 G 11 0 0 0
VFS: Introduce the structs and doc for a filesystem context
git bisect bad 26d3efc34a54b7e5b4a2e9b8cd7c25a6159c5c12 # 02:27 B 0 11 23 0
VFS: Remove unused code after filesystem context changes
git bisect bad f7799478647445b3d902d0476b282a14f10c1fd3 # 02:39 B 0 11 23 0
VFS: Implement a filesystem superblock creation/configuration context
git bisect good 09d303223d13143545fca35b48aa47cd9fc20989 # 02:58 G 11 0 0 0
VFS: Add LSM hooks for filesystem context
# first bad commit: [f7799478647445b3d902d0476b282a14f10c1fd3] VFS: Implement a filesystem
superblock creation/configuration context
git bisect good 09d303223d13143545fca35b48aa47cd9fc20989 # 03:01 G 31 0 0 0
VFS: Add LSM hooks for filesystem context
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad f7799478647445b3d902d0476b282a14f10c1fd3 # 03:11 B 0 11 23 0
VFS: Implement a filesystem superblock creation/configuration context
# extra tests on HEAD of linux-devel/devel-spot-201707282357
git bisect bad 63897d0a68483a4d1e8658e0302592b0051b61cc # 03:11 B 0 23 38 0
0day head guard for 'devel-spot-201707282357'
# extra tests on tree/branch dhowells-fs/mount-context
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation