Messages in this thread | | | Subject | Re: [PATCH 1/2] ipc,shm: move BUG_ON check into shm_lock | From | Davidlohr Bueso <> | Date | Wed, 03 Jun 2015 17:25:23 -0700 |
| |
On Mon, 2015-06-01 at 15:52 -0700, Andrew Morton wrote: > On Fri, 29 May 2015 17:03:05 -0700 Davidlohr Bueso <dave@stgolabs.net> wrote: > > > Upon every shm_lock call, we BUG_ON if an error was returned, > > indicating racing either in idr or in RMID. Move this logic > > into the locking. > > > > ... > > > > --- a/ipc/shm.c > > +++ b/ipc/shm.c > > @@ -155,8 +155,14 @@ static inline struct shmid_kernel *shm_lock(struct ipc_namespace *ns, int id) > > { > > struct kern_ipc_perm *ipcp = ipc_lock(&shm_ids(ns), id); > > > > - if (IS_ERR(ipcp)) > > + if (IS_ERR(ipcp)) { > > + /* > > + * We raced in the idr lookup or with RMID, > > + * either way, the ID is busted. > > + */ > > + BUG_ON(1); > > return (struct shmid_kernel *)ipcp; > > + } > > > > That's a bit odd. Why not > > --- a/ipc/shm.c~ipcshm-move-bug_on-check-into-shm_lock-fix-2 > +++ a/ipc/shm.c > @@ -160,7 +160,7 @@ static inline struct shmid_kernel *shm_l > * We raced in the idr lookup or with RMID, > * either way, the ID is busted. > */ > - BUG_ON(1); > + BUG(); > return (struct shmid_kernel *)ipcp; > }
Sure, this is fine.
Thanks, Davidlohr
| |