Skip to content

Commit 7b90dc4

Browse files
mrutland-armctmarinas
authored andcommitted
arm64: uaccess cleanup macro naming
Now the uaccess primitives use LDTR/STTR unconditionally, the uao_{ldp,stp,user_alternative} asm macros are misnamed, and have a redundant argument. Let's remove the redundant argument and rename these to user_{ldp,stp,ldst} respectively to clean this up. Signed-off-by: Mark Rutland <[email protected]> Reviewed-by: Robin Murohy <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: James Morse <[email protected]> Cc: Will Deacon <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent fc703d8 commit 7b90dc4

File tree

6 files changed

+26
-26
lines changed

6 files changed

+26
-26
lines changed

arch/arm64/include/asm/asm-uaccess.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ alternative_else_nop_endif
6363
* This is complicated as there is no post-increment or pair versions of the
6464
* unprivileged instructions, and USER() only works for single instructions.
6565
*/
66-
.macro uao_ldp l, reg1, reg2, addr, post_inc
66+
.macro user_ldp l, reg1, reg2, addr, post_inc
6767
8888: ldtr \reg1, [\addr];
6868
8889: ldtr \reg2, [\addr, #8];
6969
add \addr, \addr, \post_inc;
@@ -72,7 +72,7 @@ alternative_else_nop_endif
7272
_asm_extable 8889b,\l;
7373
.endm
7474

75-
.macro uao_stp l, reg1, reg2, addr, post_inc
75+
.macro user_stp l, reg1, reg2, addr, post_inc
7676
8888: sttr \reg1, [\addr];
7777
8889: sttr \reg2, [\addr, #8];
7878
add \addr, \addr, \post_inc;
@@ -81,8 +81,8 @@ alternative_else_nop_endif
8181
_asm_extable 8889b,\l;
8282
.endm
8383

84-
.macro uao_user_alternative l, inst, alt_inst, reg, addr, post_inc
85-
8888: \alt_inst \reg, [\addr];
84+
.macro user_ldst l, inst, reg, addr, post_inc
85+
8888: \inst \reg, [\addr];
8686
add \addr, \addr, \post_inc;
8787

8888
_asm_extable 8888b,\l;

arch/arm64/lib/clear_user.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ SYM_FUNC_START(__arch_clear_user)
2424
subs x1, x1, #8
2525
b.mi 2f
2626
1:
27-
uao_user_alternative 9f, str, sttr, xzr, x0, 8
27+
user_ldst 9f, sttr, xzr, x0, 8
2828
subs x1, x1, #8
2929
b.pl 1b
3030
2: adds x1, x1, #4
3131
b.mi 3f
32-
uao_user_alternative 9f, str, sttr, wzr, x0, 4
32+
user_ldst 9f, sttr, wzr, x0, 4
3333
sub x1, x1, #4
3434
3: adds x1, x1, #2
3535
b.mi 4f
36-
uao_user_alternative 9f, strh, sttrh, wzr, x0, 2
36+
user_ldst 9f, sttrh, wzr, x0, 2
3737
sub x1, x1, #2
3838
4: adds x1, x1, #1
3939
b.mi 5f
40-
uao_user_alternative 9f, strb, sttrb, wzr, x0, 0
40+
user_ldst 9f, sttrb, wzr, x0, 0
4141
5: mov x0, #0
4242
ret
4343
SYM_FUNC_END(__arch_clear_user)

arch/arm64/lib/copy_from_user.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,31 @@
2121
*/
2222

2323
.macro ldrb1 reg, ptr, val
24-
uao_user_alternative 9998f, ldrb, ldtrb, \reg, \ptr, \val
24+
user_ldst 9998f, ldtrb, \reg, \ptr, \val
2525
.endm
2626

2727
.macro strb1 reg, ptr, val
2828
strb \reg, [\ptr], \val
2929
.endm
3030

3131
.macro ldrh1 reg, ptr, val
32-
uao_user_alternative 9998f, ldrh, ldtrh, \reg, \ptr, \val
32+
user_ldst 9998f, ldtrh, \reg, \ptr, \val
3333
.endm
3434

3535
.macro strh1 reg, ptr, val
3636
strh \reg, [\ptr], \val
3737
.endm
3838

3939
.macro ldr1 reg, ptr, val
40-
uao_user_alternative 9998f, ldr, ldtr, \reg, \ptr, \val
40+
user_ldst 9998f, ldtr, \reg, \ptr, \val
4141
.endm
4242

4343
.macro str1 reg, ptr, val
4444
str \reg, [\ptr], \val
4545
.endm
4646

4747
.macro ldp1 reg1, reg2, ptr, val
48-
uao_ldp 9998f, \reg1, \reg2, \ptr, \val
48+
user_ldp 9998f, \reg1, \reg2, \ptr, \val
4949
.endm
5050

5151
.macro stp1 reg1, reg2, ptr, val

arch/arm64/lib/copy_in_user.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,35 @@
2222
* x0 - bytes not copied
2323
*/
2424
.macro ldrb1 reg, ptr, val
25-
uao_user_alternative 9998f, ldrb, ldtrb, \reg, \ptr, \val
25+
user_ldst 9998f, ldtrb, \reg, \ptr, \val
2626
.endm
2727

2828
.macro strb1 reg, ptr, val
29-
uao_user_alternative 9998f, strb, sttrb, \reg, \ptr, \val
29+
user_ldst 9998f, sttrb, \reg, \ptr, \val
3030
.endm
3131

3232
.macro ldrh1 reg, ptr, val
33-
uao_user_alternative 9998f, ldrh, ldtrh, \reg, \ptr, \val
33+
user_ldst 9998f, ldtrh, \reg, \ptr, \val
3434
.endm
3535

3636
.macro strh1 reg, ptr, val
37-
uao_user_alternative 9998f, strh, sttrh, \reg, \ptr, \val
37+
user_ldst 9998f, sttrh, \reg, \ptr, \val
3838
.endm
3939

4040
.macro ldr1 reg, ptr, val
41-
uao_user_alternative 9998f, ldr, ldtr, \reg, \ptr, \val
41+
user_ldst 9998f, ldtr, \reg, \ptr, \val
4242
.endm
4343

4444
.macro str1 reg, ptr, val
45-
uao_user_alternative 9998f, str, sttr, \reg, \ptr, \val
45+
user_ldst 9998f, sttr, \reg, \ptr, \val
4646
.endm
4747

4848
.macro ldp1 reg1, reg2, ptr, val
49-
uao_ldp 9998f, \reg1, \reg2, \ptr, \val
49+
user_ldp 9998f, \reg1, \reg2, \ptr, \val
5050
.endm
5151

5252
.macro stp1 reg1, reg2, ptr, val
53-
uao_stp 9998f, \reg1, \reg2, \ptr, \val
53+
user_stp 9998f, \reg1, \reg2, \ptr, \val
5454
.endm
5555

5656
end .req x5

arch/arm64/lib/copy_to_user.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,31 +24,31 @@
2424
.endm
2525

2626
.macro strb1 reg, ptr, val
27-
uao_user_alternative 9998f, strb, sttrb, \reg, \ptr, \val
27+
user_ldst 9998f, sttrb, \reg, \ptr, \val
2828
.endm
2929

3030
.macro ldrh1 reg, ptr, val
3131
ldrh \reg, [\ptr], \val
3232
.endm
3333

3434
.macro strh1 reg, ptr, val
35-
uao_user_alternative 9998f, strh, sttrh, \reg, \ptr, \val
35+
user_ldst 9998f, sttrh, \reg, \ptr, \val
3636
.endm
3737

3838
.macro ldr1 reg, ptr, val
3939
ldr \reg, [\ptr], \val
4040
.endm
4141

4242
.macro str1 reg, ptr, val
43-
uao_user_alternative 9998f, str, sttr, \reg, \ptr, \val
43+
user_ldst 9998f, sttr, \reg, \ptr, \val
4444
.endm
4545

4646
.macro ldp1 reg1, reg2, ptr, val
4747
ldp \reg1, \reg2, [\ptr], \val
4848
.endm
4949

5050
.macro stp1 reg1, reg2, ptr, val
51-
uao_stp 9998f, \reg1, \reg2, \ptr, \val
51+
user_stp 9998f, \reg1, \reg2, \ptr, \val
5252
.endm
5353

5454
end .req x5

arch/arm64/lib/mte.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ SYM_FUNC_START(mte_copy_tags_from_user)
6767
mov x3, x1
6868
cbz x2, 2f
6969
1:
70-
uao_user_alternative 2f, ldrb, ldtrb, w4, x1, 0
70+
user_ldst 2f, ldtrb, w4, x1, 0
7171
lsl x4, x4, #MTE_TAG_SHIFT
7272
stg x4, [x0], #MTE_GRANULE_SIZE
7373
add x1, x1, #1
@@ -94,7 +94,7 @@ SYM_FUNC_START(mte_copy_tags_to_user)
9494
1:
9595
ldg x4, [x1]
9696
ubfx x4, x4, #MTE_TAG_SHIFT, #MTE_TAG_SIZE
97-
uao_user_alternative 2f, strb, sttrb, w4, x0, 0
97+
user_ldst 2f, sttrb, w4, x0, 0
9898
add x0, x0, #1
9999
add x1, x1, #MTE_GRANULE_SIZE
100100
subs x2, x2, #1

0 commit comments

Comments
 (0)