forked fromtorvalds/linux
- Notifications
You must be signed in to change notification settings - Fork0
Commit860aaab
x86/dumpstack: Do not try to access user space code of other tasks
sysrq-t ends up invoking show_opcodes() for each task which tries to accessthe user space code of other processes, which is obviously bogus.It either manages to dump where the foreign task's regs->ip points to in avalid mapping of the current task or triggers a pagefault and prints "Code:Bad RIP value.". Both is just wrong.Add a safeguard in copy_code() and check whether the@regs pointer matchescurrents pt_regs. If not, do not even try to access it.While at it, add commentary why using copy_from_user_nmi() is safe incopy_code() even if the function name suggests otherwise.Reported-by: Oleg Nesterov <oleg@redhat.com>Signed-off-by: Thomas Gleixner <tglx@linutronix.de>Signed-off-by: Borislav Petkov <bp@suse.de>Reviewed-by: Borislav Petkov <bp@suse.de>Acked-by: Oleg Nesterov <oleg@redhat.com>Tested-by: Borislav Petkov <bp@suse.de>Link:https://lkml.kernel.org/r/20201117202753.667274723@linutronix.de1 parent1a371e6 commit860aaab
1 file changed
+19
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
87 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
88 | 97 | | |
89 | 98 | | |
90 | 99 | | |
| |||
115 | 124 | | |
116 | 125 | | |
117 | 126 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
| 127 | + | |
| 128 | + | |
122 | 129 | | |
123 | 130 | | |
124 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
125 | 140 | | |
126 | 141 | | |
127 | 142 | | |
| |||
0 commit comments
Comments
(0)