Skip to content

Commit 6a01025

Browse files
committed
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King: "Last set of ARM fixes for 5.19: - fix for MAX_DMA_ADDRESS overflow - fix for find_*_bit performing an out of bounds memory access" * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: findbit: fix overflowing offset ARM: 9216/1: Fix MAX_DMA_ADDRESS overflow
2 parents 6207252 + ec85bd3 commit 6a01025

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

arch/arm/include/asm/dma.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#else
1111
#define MAX_DMA_ADDRESS ({ \
1212
extern phys_addr_t arm_dma_zone_size; \
13-
arm_dma_zone_size && arm_dma_zone_size < (0x10000000 - PAGE_OFFSET) ? \
13+
arm_dma_zone_size && arm_dma_zone_size < (0x100000000ULL - PAGE_OFFSET) ? \
1414
(PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; })
1515
#endif
1616

arch/arm/lib/findbit.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ ENDPROC(_find_first_zero_bit_le)
4040
* Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
4141
*/
4242
ENTRY(_find_next_zero_bit_le)
43-
teq r1, #0
44-
beq 3b
43+
cmp r2, r1
44+
bhs 3b
4545
ands ip, r2, #7
4646
beq 1b @ If new byte, goto old routine
4747
ARM( ldrb r3, [r0, r2, lsr #3] )
@@ -81,8 +81,8 @@ ENDPROC(_find_first_bit_le)
8181
* Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
8282
*/
8383
ENTRY(_find_next_bit_le)
84-
teq r1, #0
85-
beq 3b
84+
cmp r2, r1
85+
bhs 3b
8686
ands ip, r2, #7
8787
beq 1b @ If new byte, goto old routine
8888
ARM( ldrb r3, [r0, r2, lsr #3] )
@@ -115,8 +115,8 @@ ENTRY(_find_first_zero_bit_be)
115115
ENDPROC(_find_first_zero_bit_be)
116116

117117
ENTRY(_find_next_zero_bit_be)
118-
teq r1, #0
119-
beq 3b
118+
cmp r2, r1
119+
bhs 3b
120120
ands ip, r2, #7
121121
beq 1b @ If new byte, goto old routine
122122
eor r3, r2, #0x18 @ big endian byte ordering
@@ -149,8 +149,8 @@ ENTRY(_find_first_bit_be)
149149
ENDPROC(_find_first_bit_be)
150150

151151
ENTRY(_find_next_bit_be)
152-
teq r1, #0
153-
beq 3b
152+
cmp r2, r1
153+
bhs 3b
154154
ands ip, r2, #7
155155
beq 1b @ If new byte, goto old routine
156156
eor r3, r2, #0x18 @ big endian byte ordering

0 commit comments

Comments
 (0)