forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/arch/ia64/kernel/unaligned.c
....@@ -1298,7 +1298,6 @@
12981298 mm_segment_t old_fs = get_fs();
12991299 unsigned long bundle[2];
13001300 unsigned long opcode;
1301
- struct siginfo si;
13021301 const struct exception_table_entry *eh = NULL;
13031302 union {
13041303 unsigned long l;
....@@ -1432,7 +1431,7 @@
14321431 if (u.insn.x)
14331432 /* oops, really a semaphore op (cmpxchg, etc) */
14341433 goto failure;
1435
- /* no break */
1434
+ fallthrough;
14361435 case LDS_IMM_OP:
14371436 case LDSA_IMM_OP:
14381437 case LDFS_OP:
....@@ -1460,7 +1459,7 @@
14601459 if (u.insn.x)
14611460 /* oops, really a semaphore op (cmpxchg, etc) */
14621461 goto failure;
1463
- /* no break */
1462
+ fallthrough;
14641463 case LD_IMM_OP:
14651464 case LDA_IMM_OP:
14661465 case LDBIAS_IMM_OP:
....@@ -1476,7 +1475,7 @@
14761475 if (u.insn.x)
14771476 /* oops, really a semaphore op (cmpxchg, etc) */
14781477 goto failure;
1479
- /* no break */
1478
+ fallthrough;
14801479 case ST_IMM_OP:
14811480 case STREL_IMM_OP:
14821481 ret = emulate_store_int(ifa, u.insn, regs);
....@@ -1537,14 +1536,7 @@
15371536 /* NOT_REACHED */
15381537 }
15391538 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);
15491541 goto done;
15501542 }