.. | .. |
---|
1298 | 1298 | mm_segment_t old_fs = get_fs(); |
---|
1299 | 1299 | unsigned long bundle[2]; |
---|
1300 | 1300 | unsigned long opcode; |
---|
1301 | | - struct siginfo si; |
---|
1302 | 1301 | const struct exception_table_entry *eh = NULL; |
---|
1303 | 1302 | union { |
---|
1304 | 1303 | unsigned long l; |
---|
.. | .. |
---|
1432 | 1431 | if (u.insn.x) |
---|
1433 | 1432 | /* oops, really a semaphore op (cmpxchg, etc) */ |
---|
1434 | 1433 | goto failure; |
---|
1435 | | - /* no break */ |
---|
| 1434 | + fallthrough; |
---|
1436 | 1435 | case LDS_IMM_OP: |
---|
1437 | 1436 | case LDSA_IMM_OP: |
---|
1438 | 1437 | case LDFS_OP: |
---|
.. | .. |
---|
1460 | 1459 | if (u.insn.x) |
---|
1461 | 1460 | /* oops, really a semaphore op (cmpxchg, etc) */ |
---|
1462 | 1461 | goto failure; |
---|
1463 | | - /* no break */ |
---|
| 1462 | + fallthrough; |
---|
1464 | 1463 | case LD_IMM_OP: |
---|
1465 | 1464 | case LDA_IMM_OP: |
---|
1466 | 1465 | case LDBIAS_IMM_OP: |
---|
.. | .. |
---|
1476 | 1475 | if (u.insn.x) |
---|
1477 | 1476 | /* oops, really a semaphore op (cmpxchg, etc) */ |
---|
1478 | 1477 | goto failure; |
---|
1479 | | - /* no break */ |
---|
| 1478 | + fallthrough; |
---|
1480 | 1479 | case ST_IMM_OP: |
---|
1481 | 1480 | case STREL_IMM_OP: |
---|
1482 | 1481 | ret = emulate_store_int(ifa, u.insn, regs); |
---|
.. | .. |
---|
1537 | 1536 | /* NOT_REACHED */ |
---|
1538 | 1537 | } |
---|
1539 | 1538 | force_sigbus: |
---|
1540 | | - clear_siginfo(&si); |
---|
1541 | | - si.si_signo = SIGBUS; |
---|
1542 | | - si.si_errno = 0; |
---|
1543 | | - si.si_code = BUS_ADRALN; |
---|
1544 | | - si.si_addr = (void __user *) ifa; |
---|
1545 | | - si.si_flags = 0; |
---|
1546 | | - si.si_isr = 0; |
---|
1547 | | - si.si_imm = 0; |
---|
1548 | | - force_sig_info(SIGBUS, &si, current); |
---|
| 1539 | + force_sig_fault(SIGBUS, BUS_ADRALN, (void __user *) ifa, |
---|
| 1540 | + 0, 0, 0); |
---|
1549 | 1541 | goto done; |
---|
1550 | 1542 | } |
---|