/proc/kcore: update stat.st_size after memory hotplug
After memory hotplug (or other events in future), kcore size can be modified. To update inode->i_size, we have to know inode/dentry but we can't get it from inside /proc directly. But considerinyg memory hotplug, kcore image is updated only when it's opened. Then, updating inode->i_size at open() is enough. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
678ad5d8aa
commit
0d4c36a9b6
|
@ -546,6 +546,11 @@ static int open_kcore(struct inode *inode, struct file *filp)
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
if (kcore_need_update)
|
if (kcore_need_update)
|
||||||
kcore_update_ram();
|
kcore_update_ram();
|
||||||
|
if (i_size_read(inode) != proc_root_kcore->size) {
|
||||||
|
mutex_lock(&inode->i_mutex);
|
||||||
|
i_size_write(inode, proc_root_kcore->size);
|
||||||
|
mutex_unlock(&inode->i_mutex);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue