|
@@ -510,6 +510,10 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
|
|
/* we have to zero-fill user buffer even if no read */
|
|
/* we have to zero-fill user buffer even if no read */
|
|
if (copy_to_user(buffer, buf, tsz))
|
|
if (copy_to_user(buffer, buf, tsz))
|
|
return -EFAULT;
|
|
return -EFAULT;
|
|
|
|
+ } else if (m->type == KCORE_USER) {
|
|
|
|
+ /* User page is handled prior to normal kernel page: */
|
|
|
|
+ if (copy_to_user(buffer, (char *)start, tsz))
|
|
|
|
+ return -EFAULT;
|
|
} else {
|
|
} else {
|
|
if (kern_addr_valid(start)) {
|
|
if (kern_addr_valid(start)) {
|
|
/*
|
|
/*
|