forked from luck/tmp_suning_uos_patched
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Martin Schwidefsky: "Two bug fixes, one to fix a potential information leak in the BPF jit and common-io-layer fix for old firmware levels" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/bpf,jit: initialize A register if 1st insn is BPF_S_LDX_B_MSH s390/chsc: fix SEI usage on old FW levels
This commit is contained in:
commit
b28e4f08d4
|
@ -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:
|
||||
|
|
|
@ -541,18 +541,27 @@ static void chsc_process_sei_nt0(struct chsc_sei_nt0_area *sei_area)
|
|||
|
||||
static void chsc_process_event_information(struct chsc_sei *sei, u64 ntsm)
|
||||
{
|
||||
do {
|
||||
static int ntsm_unsupported;
|
||||
|
||||
while (true) {
|
||||
memset(sei, 0, sizeof(*sei));
|
||||
sei->request.length = 0x0010;
|
||||
sei->request.code = 0x000e;
|
||||
sei->ntsm = ntsm;
|
||||
if (!ntsm_unsupported)
|
||||
sei->ntsm = ntsm;
|
||||
|
||||
if (chsc(sei))
|
||||
break;
|
||||
|
||||
if (sei->response.code != 0x0001) {
|
||||
CIO_CRW_EVENT(2, "chsc: sei failed (rc=%04x)\n",
|
||||
sei->response.code);
|
||||
CIO_CRW_EVENT(2, "chsc: sei failed (rc=%04x, ntsm=%llx)\n",
|
||||
sei->response.code, sei->ntsm);
|
||||
|
||||
if (sei->response.code == 3 && sei->ntsm) {
|
||||
/* Fallback for old firmware. */
|
||||
ntsm_unsupported = 1;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -568,7 +577,10 @@ static void chsc_process_event_information(struct chsc_sei *sei, u64 ntsm)
|
|||
CIO_CRW_EVENT(2, "chsc: unhandled nt: %d\n", sei->nt);
|
||||
break;
|
||||
}
|
||||
} while (sei->u.nt0_area.flags & 0x80);
|
||||
|
||||
if (!(sei->u.nt0_area.flags & 0x80))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue
Block a user