Borislav Petkov
d72e720a19
scripts/decodecode: add the capability to supply the program counter
So that comparing with objdump output from vmlinux can ease pinpointing
where the trapping instruction actually is. An example is better than a
thousand words:
$ PC=0xffffffff8329a927 ./scripts/decodecode < ~/tmp/syz/gfs2.splat
[ 477.379104][T23917] Code: 48 83 ec 28 48 89 3c 24 48 89 54 24 08 e8 c1 b4 4a fe 48 8d bb 00 01 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 97 05 00 00 48 8b 9b 00 01 00 00 48 85 db 0f 84
All code
========
ffffffff8329a8fd: 48 83 ec 28 sub $0x28,%rsp
ffffffff8329a901: 48 89 3c 24 mov %rdi,(%rsp)
ffffffff8329a905: 48 89 54 24 08 mov %rdx,0x8(%rsp)
ffffffff8329a90a: e8 c1 b4 4a fe callq 0xffffffff81745dd0
ffffffff8329a90f: 48 8d bb 00 01 00 00 lea 0x100(%rbx),%rdi
ffffffff8329a916: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
ffffffff8329a91d: fc ff df
ffffffff8329a920: 48 89 fa mov %rdi,%rdx
ffffffff8329a923: 48 c1 ea 03 shr $0x3,%rdx
ffffffff8329a927:* 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction
ffffffff8329a92b: 0f 85 97 05 00 00 jne 0xffffffff8329aec8
ffffffff8329a931: 48 8b 9b 00 01 00 00 mov 0x100(%rbx),%rbx
ffffffff8329a938: 48 85 db test %rbx,%rbx
ffffffff8329a93b: 0f .byte 0xf
ffffffff8329a93c: 84 .byte 0x84
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Marc Zyngier <maz@misterjones.org>
Cc: Will Deacon <will@kernel.org>
Cc: Rabin Vincent <rabin@rab.in>
Link: https://lkml.kernel.org/r/20200930111416.GF6810@zn.tnic
Link: https://lkml.kernel.org/r/20200929113238.GC21110@zn.tnic
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-13 18:38:26 -07:00
..
2020-10-09 08:56:02 +02:00
2020-08-10 01:32:59 +09:00
2020-09-10 10:47:52 -06:00
2020-09-29 15:48:08 -05:00
2020-04-09 00:13:45 +09:00
2020-08-09 14:10:26 -07:00
2020-08-12 10:58:02 -07:00
2020-08-18 20:16:46 +09:00
2020-09-20 12:58:54 +09:00
2017-03-28 16:16:52 +02:00
2020-08-09 14:10:26 -07:00
2020-08-10 01:32:59 +09:00
2020-08-09 14:10:26 -07:00
2019-05-30 11:26:39 -07:00
2020-03-25 11:50:48 +01:00
2020-03-03 20:49:21 +09:00
2019-05-24 17:27:11 +02:00
2018-07-18 01:18:05 +09:00
2020-08-07 11:33:21 -07:00
2019-06-05 17:37:11 +02:00
2020-07-17 20:18:16 -07:00
2018-06-28 13:36:39 +09:00
2017-11-02 11:10:55 +01:00
2020-02-25 03:35:16 -07:00
2017-11-02 11:10:55 +01:00
2020-08-14 13:30:03 +09:00
2020-09-05 12:14:29 -07:00
2020-05-26 00:03:16 +09:00
2019-02-19 21:27:53 +01:00
2017-11-02 11:10:55 +01:00
2019-03-04 22:34:54 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-14 08:58:56 +09:00
2020-04-23 01:10:16 +09:00
2020-08-07 11:33:21 -07:00
2020-08-07 11:33:21 -07:00
2020-10-13 18:38:26 -07:00
2018-09-09 09:14:07 +09:00
2017-11-02 11:10:55 +01:00
2020-04-15 15:13:13 -06:00
2020-03-17 08:59:03 +09:00
2019-06-05 17:37:07 +02:00
2020-08-18 20:16:46 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-06-05 17:37:10 +02:00
2018-11-18 10:15:09 -08:00
2018-03-26 02:01:24 +09:00
2020-01-27 14:25:06 -07:00
2019-01-06 09:46:51 +09:00
2017-11-02 11:10:55 +01:00
2020-04-09 00:13:45 +09:00
2019-03-04 22:35:04 +09:00
2018-06-08 18:56:00 +09:00
2018-06-25 23:21:13 +09:00
2020-03-03 20:49:21 +09:00
2019-07-27 12:18:19 +09:00
2018-12-01 23:13:14 +09:00
2019-06-21 16:58:37 +02:00
2019-05-24 17:36:45 +02:00
2020-06-04 19:06:24 -07:00
2019-05-30 11:26:39 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-08-07 13:29:39 -07:00
2019-11-22 10:35:18 -07:00
2020-09-25 00:41:54 +09:00
2020-08-10 01:32:59 +09:00
2020-06-17 10:38:42 +09:00
2020-09-16 12:27:28 -06:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:39 -07:00
2017-11-02 11:10:55 +01:00
2020-08-09 14:10:26 -07:00
2020-08-10 01:32:59 +09:00
2019-03-17 12:56:32 +09:00
2020-08-10 01:32:59 +09:00
2020-08-10 01:32:59 +09:00
2020-03-25 10:19:43 +09:00
2020-08-18 01:52:08 +09:00
2020-06-24 07:48:28 -07:00
2019-11-15 00:23:10 +09:00
2020-08-10 01:32:59 +09:00
2020-08-07 11:33:28 -07:00
2020-08-10 01:32:59 +09:00
2020-08-24 15:09:32 -07:00
2020-08-09 14:10:26 -07:00
2019-08-22 01:14:11 +09:00
2019-07-17 22:39:27 +09:00
2020-08-02 23:09:16 +09:00
2019-07-17 22:39:27 +09:00
2020-06-11 20:14:41 +09:00
2020-08-10 01:32:59 +09:00
2020-05-17 18:52:01 +09:00
2017-11-02 11:10:55 +01:00
2019-06-05 17:37:10 +02:00
2020-05-12 13:28:33 +09:00
2019-08-29 23:54:29 +09:00
2020-06-06 23:39:20 +09:00
2017-11-02 11:10:55 +01:00
2017-03-13 09:40:28 -07:00
2020-05-26 00:03:16 +09:00
2019-10-05 15:29:49 +09:00
2020-07-10 14:19:58 +02:00
2019-05-30 11:29:23 -07:00
2020-03-26 15:08:27 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-08-10 15:22:06 +01:00
2020-06-16 21:21:00 -04:00
2019-05-30 11:26:39 -07:00
2019-11-11 20:10:01 +09:00
2019-06-05 17:37:17 +02:00
2017-02-10 12:43:47 +11:00
2020-07-20 10:55:50 +02:00
2019-12-13 10:47:58 +01:00
2018-12-28 12:11:44 -08:00
2019-06-01 15:51:31 -07:00
2020-10-13 18:38:26 -07:00
2020-06-26 09:31:53 -06:00
2018-05-04 06:21:06 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-09-05 08:12:09 -06:00
2020-10-09 08:55:17 +02:00
2019-11-13 10:52:05 +00:00
2018-11-30 14:45:01 -08:00
2020-02-10 13:35:15 -08:00
2017-11-02 11:10:55 +01:00
2020-06-06 23:42:01 +09:00