Lines Matching defs:uaddr
2209 * @uaddr: start of address range
2215 size_t fault_in_writeable(char __user *uaddr, size_t size)
2217 char __user *start = uaddr, *end;
2221 if (!user_write_access_begin(uaddr, size))
2223 if (!PAGE_ALIGNED(uaddr)) {
2224 unsafe_put_user(0, uaddr, out);
2225 uaddr = (char __user *)PAGE_ALIGN((unsigned long)uaddr);
2230 while (uaddr != end) {
2231 unsafe_put_user(0, uaddr, out);
2232 uaddr += PAGE_SIZE;
2237 if (size > uaddr - start)
2238 return size - (uaddr - start);
2245 * @uaddr: start of address range
2255 size_t fault_in_subpage_writeable(char __user *uaddr, size_t size)
2264 faulted_in = size - fault_in_writeable(uaddr, size);
2266 faulted_in -= probe_subpage_writeable(uaddr, faulted_in);
2274 * @uaddr: start of address range
2290 size_t fault_in_safe_writeable(const char __user *uaddr, size_t size)
2292 unsigned long start = (unsigned long)uaddr, end;
2310 if (size > (unsigned long)uaddr - start)
2311 return size - ((unsigned long)uaddr - start);
2318 * @uaddr: start of user address range
2324 size_t fault_in_readable(const char __user *uaddr, size_t size)
2326 const char __user *start = uaddr, *end;
2331 if (!user_read_access_begin(uaddr, size))
2333 if (!PAGE_ALIGNED(uaddr)) {
2334 unsafe_get_user(c, uaddr, out);
2335 uaddr = (const char __user *)PAGE_ALIGN((unsigned long)uaddr);
2340 while (uaddr != end) {
2341 unsafe_get_user(c, uaddr, out);
2342 uaddr += PAGE_SIZE;
2348 if (size > uaddr - start)
2349 return size - (uaddr - start);