2007-08-31 11:23:07

by Nadia Derbey

[permalink] [raw]
Subject: [RFC][PATCH 5/6] Introducing the ipcid_to_idx macro

[PATCH 05/06]


This is a trivial patch that changes all the (id % SEQ_MULTIPLIER) into a call
to the ipcid_to_idx(id) macro.


Signed-off-by: Nadia Derbey <[email protected]>

---
ipc/util.c | 4 ++--
ipc/util.h | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)

Index: linux-2.6.23-rc2/ipc/util.h
===================================================================
--- linux-2.6.23-rc2.orig/ipc/util.h 2007-08-31 12:26:31.000000000 +0200
+++ linux-2.6.23-rc2/ipc/util.h 2007-08-31 12:53:30.000000000 +0200
@@ -78,6 +78,8 @@ void __init ipc_init_proc_interface(cons
#define IPC_MSG_IDS 1
#define IPC_SHM_IDS 2

+#define ipcid_to_idx(id) ((id) % SEQ_MULTIPLIER)
+
/* must be called with ids->mutex acquired.*/
int ipc_addid(struct ipc_ids *, struct kern_ipc_perm *, int);
int ipc_get_maxid(struct ipc_ids *);
Index: linux-2.6.23-rc2/ipc/util.c
===================================================================
--- linux-2.6.23-rc2.orig/ipc/util.c 2007-08-31 12:29:32.000000000 +0200
+++ linux-2.6.23-rc2/ipc/util.c 2007-08-31 12:54:39.000000000 +0200
@@ -413,7 +413,7 @@ int ipcget_public(struct ipc_namespace *

void ipc_rmid(struct ipc_ids *ids, struct kern_ipc_perm *ipcp)
{
- int lid = ipcp->id % SEQ_MULTIPLIER;
+ int lid = ipcid_to_idx(ipcp->id);

idr_remove(&ids->ipcs_idr, lid);

@@ -672,7 +672,7 @@ void ipc64_perm_to_ipc_perm (struct ipc6
struct kern_ipc_perm *ipc_lock(struct ipc_ids *ids, int id)
{
struct kern_ipc_perm *out;
- int lid = id % SEQ_MULTIPLIER;
+ int lid = ipcid_to_idx(id);

rcu_read_lock();
out = idr_find(&ids->ipcs_idr, lid);

--