Restore shmid as inode# to fix /proc/pid/maps ABI breakage
shmid used to be stored as inode# for shared memory segments. Some of the proc-ps tools use this from /proc/pid/maps. Recent cleanups to newseg() changed it. This patch sets inode number back to shared memory id to fix breakage. Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Cc: "Albert Cahalan" <acahalan@gmail.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
dd08c40e3e
Коммит
30475cc12a
|
@ -397,6 +397,11 @@ static int newseg (struct ipc_namespace *ns, key_t key, int shmflg, size_t size)
|
|||
shp->shm_nattch = 0;
|
||||
shp->id = shm_buildid(ns, id, shp->shm_perm.seq);
|
||||
shp->shm_file = file;
|
||||
/*
|
||||
* shmid gets reported as "inode#" in /proc/pid/maps.
|
||||
* proc-ps tools use this. Changing this will break them.
|
||||
*/
|
||||
file->f_dentry->d_inode->i_ino = shp->id;
|
||||
|
||||
ns->shm_tot += numpages;
|
||||
shm_unlock(shp);
|
||||
|
|
Загрузка…
Ссылка в новой задаче