Commit 72a8ff2f authored by Rafael Aquini's avatar Rafael Aquini Committed by Linus Torvalds

ipc: change kern_ipc_perm.deleted type to bool

struct kern_ipc_perm.deleted is meant to be used as a boolean toggle, and
the changes introduced by this patch are just to make the case explicit.
Signed-off-by: default avatarRafael Aquini <aquini@redhat.com>
Reviewed-by: default avatarRik van Riel <riel@redhat.com>
Cc: Greg Thelen <gthelen@google.com>
Acked-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0f3d2b01
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
struct kern_ipc_perm struct kern_ipc_perm
{ {
spinlock_t lock; spinlock_t lock;
int deleted; bool deleted;
int id; int id;
key_t key; key_t key;
kuid_t uid; kuid_t uid;
......
...@@ -394,7 +394,7 @@ static inline struct sem_array *sem_obtain_lock(struct ipc_namespace *ns, ...@@ -394,7 +394,7 @@ static inline struct sem_array *sem_obtain_lock(struct ipc_namespace *ns,
/* ipc_rmid() may have already freed the ID while sem_lock /* ipc_rmid() may have already freed the ID while sem_lock
* was spinning: verify that the structure is still valid * was spinning: verify that the structure is still valid
*/ */
if (!ipcp->deleted) if (ipc_valid_object(ipcp))
return container_of(ipcp, struct sem_array, sem_perm); return container_of(ipcp, struct sem_array, sem_perm);
sem_unlock(sma, *locknum); sem_unlock(sma, *locknum);
......
...@@ -286,7 +286,7 @@ int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size) ...@@ -286,7 +286,7 @@ int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size)
idr_preload(GFP_KERNEL); idr_preload(GFP_KERNEL);
spin_lock_init(&new->lock); spin_lock_init(&new->lock);
new->deleted = 0; new->deleted = false;
rcu_read_lock(); rcu_read_lock();
spin_lock(&new->lock); spin_lock(&new->lock);
...@@ -447,7 +447,7 @@ void ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp) ...@@ -447,7 +447,7 @@ void ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp)
ids->in_use--; ids->in_use--;
ipcp->deleted = 1; ipcp->deleted = true;
return; return;
} }
...@@ -657,7 +657,7 @@ struct kern_ipc_perm *ipc_lock(struct ipc_ids *ids, int id) ...@@ -657,7 +657,7 @@ struct kern_ipc_perm *ipc_lock(struct ipc_ids *ids, int id)
/* ipc_rmid() may have already freed the ID while ipc_lock /* ipc_rmid() may have already freed the ID while ipc_lock
* was spinning: here verify that the structure is still valid * was spinning: here verify that the structure is still valid
*/ */
if (!out->deleted) if (ipc_valid_object(out))
return out; return out;
spin_unlock(&out->lock); spin_unlock(&out->lock);
......
...@@ -195,7 +195,7 @@ static inline void ipc_unlock(struct kern_ipc_perm *perm) ...@@ -195,7 +195,7 @@ static inline void ipc_unlock(struct kern_ipc_perm *perm)
*/ */
static inline bool ipc_valid_object(struct kern_ipc_perm *perm) static inline bool ipc_valid_object(struct kern_ipc_perm *perm)
{ {
return perm->deleted == 0; return !perm->deleted;
} }
struct kern_ipc_perm *ipc_obtain_object_check(struct ipc_ids *ids, int id); struct kern_ipc_perm *ipc_obtain_object_check(struct ipc_ids *ids, int id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment