All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] x86/insn: Fix not using prefixes.nbytes for loop over prefixes.bytes
@ 2020-12-02  8:50 Masami Hiramatsu
  2020-12-02  8:51 ` [PATCH 1/3] x86/sev-es: " Masami Hiramatsu
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Masami Hiramatsu @ 2020-12-02  8:50 UTC (permalink / raw)
  To: x86, Thomas Gleixner, Ingo Molnar, Borislav Petkov
  Cc: Kees Cook, Masami Hiramatsu, H . Peter Anvin, Joerg Roedel,
	Tom Lendacky, Gustavo A . R . Silva, Jann Horn,
	Srikar Dronamraju, Ricardo Neri, linux-kernel

Hi,

Here are the patches to fix the wrong loop boundary check
on insn.prefixes.bytes[] array.

Kees Cook reported that this issue that there are similar
wrong boundary check patterns in the x86 code.

Since the insn.prefixes.nbytes can be bigger than the size of
insn.prefixes.bytes[] when a same prefix is repeated, we have to
check whether the insn.prefixes.bytes[i] != 0 (*) and i < 4 instead
of insn.prefixes.nbytes.

(*) Note that insn.prefixes.bytes[] should be zeroed in insn_init()
before decoding, and 0x00 is not a legacy prefix. So if you see 0
on insn.prefix.bytes[], it indicates the end of the array. Or,
if the prefixes.bytes[] is filled with prefix bytes, we can check
the index is less than 4.

Thank you,

---

Masami Hiramatsu (3):
      x86/sev-es: Fix not using prefixes.nbytes for loop over prefixes.bytes
      x86/uprobes: Fix not using prefixes.nbytes for loop over prefixes.bytes
      x86/insn-eval: Fix not using prefixes.nbytes for loop over prefixes.bytes


 arch/x86/boot/compressed/sev-es.c |    2 +-
 arch/x86/kernel/uprobes.c         |    4 ++--
 arch/x86/lib/insn-eval.c          |    4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

-- 
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-12-03  4:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-02  8:50 [PATCH 0/3] x86/insn: Fix not using prefixes.nbytes for loop over prefixes.bytes Masami Hiramatsu
2020-12-02  8:51 ` [PATCH 1/3] x86/sev-es: " Masami Hiramatsu
2020-12-02 15:31   ` Tom Lendacky
2020-12-02 19:07     ` Kees Cook
2020-12-03  2:03       ` Masami Hiramatsu
2020-12-02  8:51 ` [PATCH 2/3] x86/uprobes: " Masami Hiramatsu
2020-12-02 14:51   ` Srikar Dronamraju
2020-12-03  4:20     ` Masami Hiramatsu
2020-12-02 19:04   ` Kees Cook
2020-12-03  2:00     ` Masami Hiramatsu
2020-12-02  8:51 ` [PATCH 3/3] x86/insn-eval: " Masami Hiramatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.