Commit 428e2976 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Linus Torvalds
Browse files

uaccess: remove segment_eq



segment_eq is only used to implement uaccess_kernel.  Just open code
uaccess_kernel in the arch uaccess headers and remove one layer of
indirection.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Acked-by: default avatarGreentime Hu <green.hu@gmail.com>
Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Vincent Chen <deanbo422@gmail.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Link: http://lkml.kernel.org/r/20200710135706.537715-5-hch@lst.de


Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent efbfc62e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
#define get_fs()  (current_thread_info()->addr_limit)
#define set_fs(x) (current_thread_info()->addr_limit = (x))

#define segment_eq(a, b)	((a).seg == (b).seg)
#define uaccess_kernel()	(get_fs().seg == KERNEL_DS.seg)

/*
 * Is a address valid? This does a straightforward calculation rather
+1 −2
Original line number Diff line number Diff line
@@ -14,8 +14,7 @@ typedef unsigned long mm_segment_t;

#define KERNEL_DS		MAKE_MM_SEG(0)
#define USER_DS			MAKE_MM_SEG(TASK_SIZE)

#define segment_eq(a, b)	((a) == (b))
#define uaccess_kernel()	(get_fs() == KERNEL_DS)

#endif /* __ASSEMBLY__ */
#endif /* __ASMARC_SEGMENT_H */
+2 −2
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ static inline void set_fs(mm_segment_t fs)
	modify_domain(DOMAIN_KERNEL, fs ? DOMAIN_CLIENT : DOMAIN_MANAGER);
}

#define segment_eq(a, b)	((a) == (b))
#define uaccess_kernel()	(get_fs() == KERNEL_DS)

/*
 * We use 33-bit arithmetic here.  Success returns zero, failure returns
@@ -267,7 +267,7 @@ extern int __put_user_8(void *, unsigned long long);
 */
#define USER_DS			KERNEL_DS

#define segment_eq(a, b)		(1)
#define uaccess_kernel()	(true)
#define __addr_ok(addr)		((void)(addr), 1)
#define __range_ok(addr, size)	((void)(addr), 0)
#define get_fs()		(KERNEL_DS)
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static inline void set_fs(mm_segment_t fs)
				CONFIG_ARM64_UAO));
}

#define segment_eq(a, b)	((a) == (b))
#define uaccess_kernel()	(get_fs() == KERNEL_DS)

/*
 * Test whether a block of memory is a valid user space address.
+1 −1
Original line number Diff line number Diff line
@@ -13,6 +13,6 @@ typedef struct {
#define USER_DS			((mm_segment_t) { 0x80000000UL })
#define get_fs()		(current_thread_info()->addr_limit)
#define set_fs(x)		(current_thread_info()->addr_limit = (x))
#define segment_eq(a, b)	((a).seg == (b).seg)
#define uaccess_kernel()	(get_fs().seg == KERNEL_DS.seg)

#endif /* __ASM_CSKY_SEGMENT_H */
Loading