X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=ipc%2Fshm.c;h=faa46da99ebed7884ebb632f70ec7d79799d7f87;hb=596a5c4e43b08e90c0cd788861f859bf7ed6eddc;hp=f239d87e0d37eea4a83106804035432f6c91c331;hpb=83f2f0ed715eb15a8e13c07df479d65bbc10d8d5;p=~andy%2Flinux diff --git a/ipc/shm.c b/ipc/shm.c index f239d87e0d3..faa46da99eb 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -555,12 +555,14 @@ static void shm_get_stat(struct ipc_namespace *ns, unsigned long *rss, in_use = shm_ids(ns).in_use; for (total = 0, next_id = 0; total < in_use; next_id++) { + struct kern_ipc_perm *ipc; struct shmid_kernel *shp; struct inode *inode; - shp = idr_find(&shm_ids(ns).ipcs_idr, next_id); - if (shp == NULL) + ipc = idr_find(&shm_ids(ns).ipcs_idr, next_id); + if (ipc == NULL) continue; + shp = container_of(ipc, struct shmid_kernel, shm_perm); inode = shp->shm_file->f_path.dentry->d_inode;