Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linuxkpi/common/include/asm/uaccess.h
Show All 22 Lines | |||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _ASM_UACCESS_H_ | #ifndef _LINUXKPI_ASM_UACCESS_H_ | ||||
#define _ASM_UACCESS_H_ | #define _LINUXKPI_ASM_UACCESS_H_ | ||||
#include <linux/uaccess.h> | #include <linux/uaccess.h> | ||||
static inline long | static inline long | ||||
copy_to_user(void *to, const void *from, unsigned long n) | copy_to_user(void *to, const void *from, unsigned long n) | ||||
{ | { | ||||
if (linux_copyout(from, to, n) != 0) | if (linux_copyout(from, to, n) != 0) | ||||
return n; | return n; | ||||
Show All 19 Lines | if (unlikely(__get_user(x, ptr))) \ | ||||
goto err; \ | goto err; \ | ||||
} while (0) | } while (0) | ||||
#define unsafe_put_user(x, ptr, err) do { \ | #define unsafe_put_user(x, ptr, err) do { \ | ||||
if (unlikely(__put_user(x, ptr))) \ | if (unlikely(__put_user(x, ptr))) \ | ||||
goto err; \ | goto err; \ | ||||
} while (0) | } while (0) | ||||
#endif /* _ASM_UACCESS_H_ */ | #endif /* _LINUXKPI_ASM_UACCESS_H_ */ |