On 7/24/19 7:16 PM, Luis Chamberlain wrote:
On Wed, Jul 24, 2019 at 01:58:48AM -0400, Alexandre Ghiti wrote:
Mips uses TASK_IS_32BIT_ADDR to determine if a task is 32bit, but
this define is mips specific and other arches do not have it: instead,
use !IS_ENABLED(CONFIG_64BIT) || is_compat_task() condition.
Signed-off-by: Alexandre Ghiti <alex@xxxxxxxx>
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
---
arch/mips/mm/mmap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/mips/mm/mmap.c b/arch/mips/mm/mmap.c
index faa5aa615389..d4eafbb82789 100644
--- a/arch/mips/mm/mmap.c
+++ b/arch/mips/mm/mmap.c
@@ -17,6 +17,7 @@
#include <linux/sched/signal.h>
#include <linux/sched/mm.h>
#include <linux/sizes.h>
+#include <linux/compat.h>
unsigned long shm_align_mask = PAGE_SIZE - 1; /* Sane caches */
EXPORT_SYMBOL(shm_align_mask);
@@ -191,7 +192,7 @@ static inline unsigned long brk_rnd(void)
rnd = rnd << PAGE_SHIFT;
/* 32MB for 32bit, 1GB for 64bit */
- if (TASK_IS_32BIT_ADDR)
+ if (!IS_ENABLED(CONFIG_64BIT) || is_compat_task())
rnd = rnd & SZ_32M;
else
rnd = rnd & SZ_1G;
--
Since there are at least two users why not just create an inline for
this which describes what we are looking for and remove the comments?
Actually this is a preparatory patch, this will get merged with the
generic version in the next patch.
Alex
Luis
_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv