Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/tile/lib/uaccess.c
10817 views
1
/*
2
* Copyright 2010 Tilera Corporation. All Rights Reserved.
3
*
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation, version 2.
7
*
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11
* NON INFRINGEMENT. See the GNU General Public License for
12
* more details.
13
*/
14
15
#include <linux/uaccess.h>
16
#include <linux/module.h>
17
18
int __range_ok(unsigned long addr, unsigned long size)
19
{
20
unsigned long limit = current_thread_info()->addr_limit.seg;
21
return !((addr < limit && size <= limit - addr) ||
22
is_arch_mappable_range(addr, size));
23
}
24
EXPORT_SYMBOL(__range_ok);
25
26
#ifdef CONFIG_DEBUG_COPY_FROM_USER
27
void copy_from_user_overflow(void)
28
{
29
WARN(1, "Buffer overflow detected!\n");
30
}
31
EXPORT_SYMBOL(copy_from_user_overflow);
32
#endif
33
34