blob: 1cb9bf3e24aa066db709834df638f3ba9f131720 [file] [log] [blame]
TITLE: KASAN: use-after-free Read in hiddev_read
[ 501.875843][ T9186] ==================================================================
[ 501.883925][ T9186] BUG: KASAN: use-after-free in __lock_acquire+0x302a/0x3b50
[ 501.891279][ T9186] Read of size 8 at addr ffff8881d2bec328 by task syz-executor.4/9186
[ 501.899408][ T9186]
[ 501.901720][ T9186] CPU: 1 PID: 9186 Comm: syz-executor.4 Not tainted 5.3.0-rc4+ #26
[ 501.909584][ T9186] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
[ 501.919617][ T9186] Call Trace:
[ 501.922891][ T9186] dump_stack+0xca/0x13e
[ 501.927205][ T9186] ? __lock_acquire+0x302a/0x3b50
[ 501.932208][ T9186] ? __lock_acquire+0x302a/0x3b50
[ 501.937386][ T9186] print_address_description+0x6a/0x32c
[ 501.943011][ T9186] ? __lock_acquire+0x302a/0x3b50
[ 501.948027][ T9186] ? __lock_acquire+0x302a/0x3b50
[ 501.953037][ T9186] __kasan_report.cold+0x1a/0x33
[ 501.957975][ T9186] ? __lock_acquire+0x302a/0x3b50
[ 501.962995][ T9186] kasan_report+0xe/0x12
[ 501.967223][ T9186] __lock_acquire+0x302a/0x3b50
[ 501.972052][ T9186] ? __mutex_lock+0x430/0x1360
[ 501.976800][ T9186] ? lockdep_hardirqs_on+0x379/0x580
[ 501.982076][ T9186] ? mark_held_locks+0xe0/0xe0
[ 501.986833][ T9186] ? finish_task_switch+0xef/0x5a0
[ 501.991940][ T9186] ? mutex_trylock+0x2c0/0x2c0
[ 501.996706][ T9186] lock_acquire+0x127/0x320
[ 502.001227][ T9186] ? finish_wait+0xb2/0x260
[ 502.005747][ T9186] _raw_spin_lock_irqsave+0x32/0x50
[ 502.010938][ T9186] ? finish_wait+0xb2/0x260
[ 502.015417][ T9186] finish_wait+0xb2/0x260
[ 502.019727][ T9186] hiddev_read+0x89d/0xbd0
[ 502.024128][ T9186] ? hiddev_ioctl_usage.isra.0+0x13b0/0x13b0
[ 502.030087][ T9186] ? finish_wait+0x260/0x260
[ 502.034763][ T9186] ? security_file_permission+0x8a/0x370
[ 502.040382][ T9186] ? hiddev_ioctl_usage.isra.0+0x13b0/0x13b0
[ 502.046372][ T9186] __vfs_read+0x76/0x100
[ 502.050592][ T9186] vfs_read+0x1ea/0x430
[ 502.054731][ T9186] ksys_read+0x127/0x250
[ 502.058971][ T9186] ? kernel_write+0x120/0x120
[ 502.063636][ T9186] ? __ia32_sys_clock_settime+0x260/0x260
[ 502.069398][ T9186] ? trace_hardirqs_off_caller+0x55/0x1e0
[ 502.075096][ T9186] do_syscall_64+0xb7/0x580
[ 502.079579][ T9186] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 502.085444][ T9186] RIP: 0033:0x459829
[ 502.089321][ T9186] Code: fd b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 cb b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00
[ 502.108917][ T9186] RSP: 002b:00007fab15b5ec78 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
[ 502.117329][ T9186] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000459829
[ 502.125309][ T9186] RDX: 0000000000000015 RSI: 0000000020000080 RDI: 0000000000000003
[ 502.133274][ T9186] RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000
[ 502.141235][ T9186] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fab15b5f6d4
[ 502.149188][ T9186] R13: 00000000004c6c66 R14: 00000000004dbf70 R15: 00000000ffffffff
[ 502.157159][ T9186]
[ 502.159473][ T9186] Allocated by task 2740:
[ 502.163784][ T9186] save_stack+0x1b/0x80
[ 502.167922][ T9186] __kasan_kmalloc.constprop.0+0xbf/0xd0
[ 502.173535][ T9186] hiddev_connect+0x242/0x5b0
[ 502.178192][ T9186] hid_connect+0x239/0xbb0
[ 502.182586][ T9186] hid_hw_start+0xa2/0x130
[ 502.186994][ T9186] appleir_probe+0x13e/0x1a0
[ 502.191604][ T9186] hid_device_probe+0x2be/0x3f0
[ 502.196434][ T9186] really_probe+0x281/0x6d0
[ 502.200910][ T9186] driver_probe_device+0x101/0x1b0
[ 502.206018][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.211368][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.216193][ T9186] __device_attach+0x217/0x360
[ 502.220930][ T9186] bus_probe_device+0x1e4/0x290
[ 502.225751][ T9186] device_add+0xae6/0x16f0
[ 502.230141][ T9186] hid_add_device+0x33c/0x990
[ 502.234822][ T9186] usbhid_probe+0xa81/0xfa0
[ 502.239317][ T9186] usb_probe_interface+0x305/0x7a0
[ 502.244404][ T9186] really_probe+0x281/0x6d0
[ 502.248900][ T9186] driver_probe_device+0x101/0x1b0
[ 502.253989][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.259334][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.264163][ T9186] __device_attach+0x217/0x360
[ 502.268903][ T9186] bus_probe_device+0x1e4/0x290
[ 502.273728][ T9186] device_add+0xae6/0x16f0
[ 502.278122][ T9186] usb_set_configuration+0xdf6/0x1670
[ 502.283477][ T9186] generic_probe+0x9d/0xd5
[ 502.287883][ T9186] usb_probe_device+0x99/0x100
[ 502.292638][ T9186] really_probe+0x281/0x6d0
[ 502.297115][ T9186] driver_probe_device+0x101/0x1b0
[ 502.302210][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.307599][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.312433][ T9186] __device_attach+0x217/0x360
[ 502.317191][ T9186] bus_probe_device+0x1e4/0x290
[ 502.322021][ T9186] device_add+0xae6/0x16f0
[ 502.326435][ T9186] usb_new_device.cold+0x6a4/0xe79
[ 502.331546][ T9186] hub_event+0x1b5c/0x3640
[ 502.335936][ T9186] process_one_work+0x92b/0x1530
[ 502.340860][ T9186] worker_thread+0x96/0xe20
[ 502.345352][ T9186] kthread+0x318/0x420
[ 502.349397][ T9186] ret_from_fork+0x24/0x30
[ 502.353782][ T9186]
[ 502.356085][ T9186] Freed by task 2740:
[ 502.360055][ T9186] save_stack+0x1b/0x80
[ 502.364188][ T9186] __kasan_slab_free+0x130/0x180
[ 502.369112][ T9186] kfree+0xe4/0x2f0
[ 502.372898][ T9186] hiddev_connect.cold+0x45/0x5c
[ 502.377814][ T9186] hid_connect+0x239/0xbb0
[ 502.382209][ T9186] hid_hw_start+0xa2/0x130
[ 502.386598][ T9186] appleir_probe+0x13e/0x1a0
[ 502.391199][ T9186] hid_device_probe+0x2be/0x3f0
[ 502.396033][ T9186] really_probe+0x281/0x6d0
[ 502.400515][ T9186] driver_probe_device+0x101/0x1b0
[ 502.405604][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.410951][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.415808][ T9186] __device_attach+0x217/0x360
[ 502.420546][ T9186] bus_probe_device+0x1e4/0x290
[ 502.425378][ T9186] device_add+0xae6/0x16f0
[ 502.429787][ T9186] hid_add_device+0x33c/0x990
[ 502.434459][ T9186] usbhid_probe+0xa81/0xfa0
[ 502.438964][ T9186] usb_probe_interface+0x305/0x7a0
[ 502.444079][ T9186] really_probe+0x281/0x6d0
[ 502.448625][ T9186] driver_probe_device+0x101/0x1b0
[ 502.453738][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.459113][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.463963][ T9186] __device_attach+0x217/0x360
[ 502.468724][ T9186] bus_probe_device+0x1e4/0x290
[ 502.473566][ T9186] device_add+0xae6/0x16f0
[ 502.477962][ T9186] usb_set_configuration+0xdf6/0x1670
[ 502.483332][ T9186] generic_probe+0x9d/0xd5
[ 502.487724][ T9186] usb_probe_device+0x99/0x100
[ 502.492462][ T9186] really_probe+0x281/0x6d0
[ 502.496939][ T9186] driver_probe_device+0x101/0x1b0
[ 502.502024][ T9186] __device_attach_driver+0x1c2/0x220
[ 502.507376][ T9186] bus_for_each_drv+0x162/0x1e0
[ 502.512214][ T9186] __device_attach+0x217/0x360
[ 502.516952][ T9186] bus_probe_device+0x1e4/0x290
[ 502.521774][ T9186] device_add+0xae6/0x16f0
[ 502.526179][ T9186] usb_new_device.cold+0x6a4/0xe79
[ 502.537376][ T9186] hub_event+0x1b5c/0x3640
[ 502.545003][ T9186] process_one_work+0x92b/0x1530
[ 502.553088][ T9186] worker_thread+0x96/0xe20
[ 502.559520][ T9186] kthread+0x318/0x420
[ 502.563805][ T9186] ret_from_fork+0x24/0x30
[ 502.568194][ T9186]
[ 502.570511][ T9186] The buggy address belongs to the object at ffff8881d2bec280
[ 502.570511][ T9186] which belongs to the cache kmalloc-512 of size 512
[ 502.584563][ T9186] The buggy address is located 168 bytes inside of
[ 502.584563][ T9186] 512-byte region [ffff8881d2bec280, ffff8881d2bec480)
[ 502.597836][ T9186] The buggy address belongs to the page:
[ 502.603455][ T9186] page:ffffea00074afb00 refcount:1 mapcount:0 mapping:ffff8881da002500 index:0x0 compound_mapcount: 0
[ 502.614364][ T9186] flags: 0x200000000010200(slab|head)
[ 502.619739][ T9186] raw: 0200000000010200 ffffea000741fc80 0000000600000006 ffff8881da002500
[ 502.628303][ T9186] raw: 0000000000000000 00000000000c000c 00000001ffffffff 0000000000000000
[ 502.636880][ T9186] page dumped because: kasan: bad access detected
[ 502.643315][ T9186]
[ 502.645617][ T9186] Memory state around the buggy address:
[ 502.651257][ T9186] ffff8881d2bec200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 502.659293][ T9186] ffff8881d2bec280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 502.667334][ T9186] >ffff8881d2bec300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 502.675368][ T9186] ^
[ 502.680764][ T9186] ffff8881d2bec380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 502.688804][ T9186] ffff8881d2bec400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 502.696846][ T9186] ==================================================================