Anand Jain
e755f78086
btrfs: fix null pointer dereference in clone_fs_devices when name is null
when one of the device path is missing btrfs_device name is null. So this
patch will check for that.
stack:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
IP: [<ffffffff812e18c0>] strlen+0x0/0x30
[<ffffffffa01cd92a>] ? clone_fs_devices+0xaa/0x160 [btrfs]
[<ffffffffa01cdcf7>] btrfs_init_new_device+0x317/0xca0 [btrfs]
[<ffffffff81155bca>] ? __kmalloc_track_caller+0x15a/0x1a0
[<ffffffffa01d6473>] btrfs_ioctl+0xaa3/0x2860 [btrfs]
[<ffffffff81132a6c>] ? handle_mm_fault+0x48c/0x9c0
[<ffffffff81192a61>] ? __blkdev_put+0x171/0x180
[<ffffffff817a784c>] ? __do_page_fault+0x4ac/0x590
[<ffffffff81193426>] ? blkdev_put+0x106/0x110
[<ffffffff81179175>] ? mntput+0x35/0x40
[<ffffffff8116d4b0>] do_vfs_ioctl+0x460/0x4a0
[<ffffffff8115c72e>] ? ____fput+0xe/0x10
[<ffffffff81068033>] ? task_work_run+0xb3/0xd0
[<ffffffff8116d547>] SyS_ioctl+0x57/0x90
[<ffffffff817a793e>] ? do_page_fault+0xe/0x10
[<ffffffff817abe52>] system_call_fastpath+0x16/0x1b
reproducer:
mkfs.btrfs -draid1 -mraid1 /dev/sdg1 /dev/sdg2
btrfstune -S 1 /dev/sdg1
modprobe -r btrfs && modprobe btrfs
mount -o degraded /dev/sdg1 /btrfs
btrfs dev add /dev/sdg3 /btrfs
Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
Signed-off-by: Chris Mason <clm@fb.com>
2014-07-03 07:04:07 -07:00
..
2014-06-13 09:52:24 -07:00
2014-06-09 17:20:42 -07:00
2014-04-07 10:41:52 -07:00
2014-03-20 17:15:28 -07:00
2014-06-09 17:21:17 -07:00
2014-06-09 17:21:17 -07:00
2014-06-09 17:20:57 -07:00
2014-06-09 17:20:21 -07:00
2013-11-24 16:33:41 -07:00
2014-06-28 13:48:46 -07:00
2013-05-06 15:55:23 -04:00
2014-06-09 17:21:10 -07:00
2014-06-19 14:20:54 -07:00
2014-06-09 17:21:08 -07:00
2014-01-28 13:20:09 -08:00
2014-06-09 17:20:48 -07:00
2014-06-09 17:20:48 -07:00
2014-06-28 13:48:44 -07:00
2012-12-12 17:15:41 -05:00
2014-01-28 13:20:05 -08:00
2014-07-03 07:04:04 -07:00
2014-06-09 17:20:49 -07:00
2013-11-11 22:03:19 -05:00
2014-06-13 09:52:28 -07:00
2014-06-19 14:20:28 -07:00
2014-06-19 14:20:55 -07:00
2014-06-19 14:20:55 -07:00
2014-06-19 14:20:54 -07:00
2014-06-09 17:21:16 -07:00
2014-06-09 17:21:06 -07:00
2014-06-19 14:20:54 -07:00
2013-11-11 21:51:33 -05:00
2014-01-28 13:20:31 -08:00
2014-01-28 13:20:31 -08:00
2014-01-28 13:19:39 -08:00
2014-06-09 17:20:53 -07:00
2014-06-19 14:20:54 -07:00
2014-07-03 07:03:23 -07:00
2014-01-28 13:20:31 -08:00
2014-06-19 14:19:55 -07:00
2013-03-14 14:57:10 -04:00
2014-06-09 17:20:21 -07:00
2014-06-09 17:20:49 -07:00
2012-12-11 13:31:30 -05:00
2014-06-09 17:20:53 -07:00
2014-03-10 15:17:16 -04:00
2014-01-28 13:19:37 -08:00
2014-01-29 07:06:29 -08:00
2013-05-06 15:55:23 -04:00
2014-01-28 13:20:24 -08:00
2014-01-28 13:20:24 -08:00
2014-06-13 09:52:26 -07:00
2014-06-09 17:20:48 -07:00
2014-06-28 13:48:45 -07:00
2013-02-01 14:24:23 -05:00
2014-06-13 09:52:21 -07:00
2014-06-09 17:20:53 -07:00
2014-06-09 17:20:40 -07:00
2014-06-19 14:20:54 -07:00
2014-06-09 17:21:00 -07:00
2013-05-06 15:55:23 -04:00
2012-07-23 16:28:06 -04:00
2014-07-03 07:04:06 -07:00
2014-06-28 13:48:43 -07:00
2014-06-28 13:48:43 -07:00
2014-06-28 13:48:46 -07:00
2014-06-09 17:20:49 -07:00
2014-06-09 17:20:40 -07:00
2014-06-09 17:20:45 -07:00
2014-06-09 17:20:45 -07:00
2014-01-29 07:06:27 -08:00
2014-01-29 07:06:27 -08:00
2014-01-28 13:20:05 -08:00
2014-07-03 07:04:07 -07:00
2014-06-19 14:20:56 -07:00
2014-01-30 20:08:20 -08:00
2014-01-25 23:58:18 -05:00
2014-06-09 17:20:21 -07:00