Commit af84b16e authored by Stafford Horne's avatar Stafford Horne
Browse files

openrisc: uaccess: Use static inline function in access_ok



As suggested by Linus when reviewing commit 9cb2feb4
("arch/openrisc: Fix issues with access_ok()") last year; making
__range_ok an inline function also fixes the used twice issue that the
commit was fixing.  I agree it's a good cleanup.  This patch addresses
that as I am currently working on the access_ok macro to fixup sparse
annotations in OpenRISC.

Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarStafford Horne <shorne@gmail.com>
Reviewed-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
parent 17fcd83c
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -48,16 +48,19 @@
/* Ensure that the range from addr to addr+size is all within the process'
 * address space
 */
#define __range_ok(addr, size) (size <= get_fs() && addr <= (get_fs()-size))
static inline int __range_ok(unsigned long addr, unsigned long size)
{
	const mm_segment_t fs = get_fs();

	return size <= fs && addr <= (fs - size);
}

/* Ensure that addr is below task's addr_limit */
#define __addr_ok(addr) ((unsigned long) addr < get_fs())

#define access_ok(addr, size)						\
({ 									\
	unsigned long __ao_addr = (unsigned long)(addr);		\
	unsigned long __ao_size = (unsigned long)(size);		\
	__range_ok(__ao_addr, __ao_size);				\
	__range_ok((unsigned long)(addr), (size));			\
})

/*