s390/bpf,jit: initialize A register if 1st insn is BPF_S_LDX_B_MSH
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 25 Apr 2014 08:53:44 +0000 (10:53 +0200)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:54 +0000 (09:55 +0200)
commit 6e0de817594c61f3b392a9245deeb09609ec707d upstream.

The A register needs to be initialized to zero in the prolog if the
first instruction of the BPF program is BPF_S_LDX_B_MSH to prevent
leaking the content of %r5 to user space.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/s390/net/bpf_jit_comp.c

index 96a4b150f9582289512e019d9efbab1513361b07..906fba63b66d7e5a88c652c87602a40301133377 100644 (file)
@@ -276,7 +276,6 @@ static void bpf_jit_noleaks(struct bpf_jit *jit, struct sock_filter *filter)
        case BPF_S_LD_W_IND:
        case BPF_S_LD_H_IND:
        case BPF_S_LD_B_IND:
-       case BPF_S_LDX_B_MSH:
        case BPF_S_LD_IMM:
        case BPF_S_LD_MEM:
        case BPF_S_MISC_TXA: