History

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

Linus Torvalds committed 12 years ago

Commit b28e4f02 parents b7270cc 6e0de812 files · +17 −6Browse files

Unified · Split

2 files
  1. arch/s390/net/bpf_jit_comp.c +0 −1
  2. drivers/s390/cio/chsc.c +17 −5
arch/s390/net/bpf_jit_comp.c+0−1
@@ -276,7 +276,6 @@ static void bpf_jit_noleaks(struct bpf_jit *jit, struct sock_filter *filter) · 275 unmodified lines
276 case BPF_S_LD_W_IND:276 case BPF_S_LD_W_IND:
277 case BPF_S_LD_H_IND:277 case BPF_S_LD_H_IND:
278 case BPF_S_LD_B_IND:278 case BPF_S_LD_B_IND:
279 case BPF_S_LDX_B_MSH:
280 case BPF_S_LD_IMM:279 case BPF_S_LD_IMM:
281 case BPF_S_LD_MEM:280 case BPF_S_LD_MEM:
282 case BPF_S_MISC_TXA:281 case BPF_S_MISC_TXA:
drivers/s390/cio/chsc.c+17−5
@@ -541,18 +541,27 @@ static void chsc_process_sei_nt0(struct chsc_sei_nt0_area *sei_area) · 540 unmodified lines
541 541
542static void chsc_process_event_information(struct chsc_sei *sei, u64 ntsm)542static void chsc_process_event_information(struct chsc_sei *sei, u64 ntsm)
543{543{
544 do {544 static int ntsm_unsupported;
545
546 while (true) {
545 memset(sei, 0, sizeof(*sei));547 memset(sei, 0, sizeof(*sei));
546 sei->request.length = 0x0010;548 sei->request.length = 0x0010;
547 sei->request.code = 0x000e;549 sei->request.code = 0x000e;
548 sei->ntsm = ntsm;550 if (!ntsm_unsupported)
551 sei->ntsm = ntsm;
549 552
550 if (chsc(sei))553 if (chsc(sei))
551 break;554 break;
552 555
553 if (sei->response.code != 0x0001) {556 if (sei->response.code != 0x0001) {
554 CIO_CRW_EVENT(2, "chsc: sei failed (rc=%04x)\n",557 CIO_CRW_EVENT(2, "chsc: sei failed (rc=%04x, ntsm=%llx)\n",
555 sei->response.code);558 sei->response.code, sei->ntsm);
559
560 if (sei->response.code == 3 && sei->ntsm) {
561 /* Fallback for old firmware. */
562 ntsm_unsupported = 1;
563 continue;
564 }
556 break;565 break;
557 }566 }
558 567
@@ -568,7 +577,10 @@ static void chsc_process_event_information(struct chsc_sei *sei, u64 ntsm) · 9 unmodified lines
568 CIO_CRW_EVENT(2, "chsc: unhandled nt: %d\n", sei->nt);577 CIO_CRW_EVENT(2, "chsc: unhandled nt: %d\n", sei->nt);
569 break;578 break;
570 }579 }
571 } while (sei->u.nt0_area.flags & 0x80);580
581 if (!(sei->u.nt0_area.flags & 0x80))
582 break;
583 }
572}584}
573 585
574/*586/*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t