108ee3a00SThomas Bogendoerfer // SPDX-License-Identifier: GPL-2.0-only 208ee3a00SThomas Bogendoerfer 308ee3a00SThomas Bogendoerfer #include <linux/uaccess.h> 408ee3a00SThomas Bogendoerfer #include <linux/kernel.h> 508ee3a00SThomas Bogendoerfer copy_from_kernel_nofault_allowed(const void * unsafe_src,size_t size)608ee3a00SThomas Bogendoerferbool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size) 708ee3a00SThomas Bogendoerfer { 808ee3a00SThomas Bogendoerfer /* highest bit set means kernel space */ 908ee3a00SThomas Bogendoerfer return (unsigned long)unsafe_src >> (BITS_PER_LONG - 1); 1008ee3a00SThomas Bogendoerfer } 11