ipc/sem.c: remove private structures from public header file
Manfred Spraul [Wed, 2 Nov 2011 20:38:54 +0000 (13:38 -0700)]
include/linux/sem.h contains several structures that are only used within
ipc/sem.c.

The patch moves them into ipc/sem.c - there is no need to expose the
structures to the whole kernel.

No functional changes, only whitespace cleanups and 80-char per line
fixes.

Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Galbraith <efault@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

include/linux/sem.h
ipc/sem.c

index 1feb2de..4648426 100644 (file)
@@ -83,13 +83,6 @@ struct  seminfo {
 
 struct task_struct;
 
-/* One semaphore structure for each semaphore in the system. */
-struct sem {
-       int     semval;         /* current value */
-       int     sempid;         /* pid of last operation */
-       struct list_head sem_pending; /* pending single-sop operations */
-};
-
 /* One sem_array data structure for each set of semaphores in the system. */
 struct sem_array {
        struct kern_ipc_perm    ____cacheline_aligned_in_smp
@@ -103,41 +96,6 @@ struct sem_array {
        int                     complex_count;  /* pending complex operations */
 };
 
-/* One queue for each sleeping process in the system. */
-struct sem_queue {
-       struct list_head        simple_list; /* queue of pending operations */
-       struct list_head        list;    /* queue of pending operations */
-       struct task_struct      *sleeper; /* this process */
-       struct sem_undo         *undo;   /* undo structure */
-       int                     pid;     /* process id of requesting process */
-       int                     status;  /* completion status of operation */
-       struct sembuf           *sops;   /* array of pending operations */
-       int                     nsops;   /* number of operations */
-       int                     alter;   /* does the operation alter the array? */
-};
-
-/* Each task has a list of undo requests. They are executed automatically
- * when the process exits.
- */
-struct sem_undo {
-       struct list_head        list_proc;      /* per-process list: all undos from one process. */
-                                               /* rcu protected */
-       struct rcu_head         rcu;            /* rcu struct for sem_undo() */
-       struct sem_undo_list    *ulp;           /* sem_undo_list for the process */
-       struct list_head        list_id;        /* per semaphore array list: all undos for one array */
-       int                     semid;          /* semaphore set identifier */
-       short *                 semadj;         /* array of adjustments, one per semaphore */
-};
-
-/* sem_undo_list controls shared access to the list of sem_undo structures
- * that may be shared among all a CLONE_SYSVSEM task group.
- */ 
-struct sem_undo_list {
-       atomic_t                refcnt;
-       spinlock_t              lock;
-       struct list_head        list_proc;
-};
-
 struct sysv_sem {
        struct sem_undo_list *undo_list;
 };
index 227948f..5215a81 100644 (file)
--- a/ipc/sem.c
+++ b/ipc/sem.c
 #include <asm/uaccess.h>
 #include "util.h"
 
+/* One semaphore structure for each semaphore in the system. */
+struct sem {
+       int     semval;         /* current value */
+       int     sempid;         /* pid of last operation */
+       struct list_head sem_pending; /* pending single-sop operations */
+};
+
+/* One queue for each sleeping process in the system. */
+struct sem_queue {
+       struct list_head        simple_list; /* queue of pending operations */
+       struct list_head        list;    /* queue of pending operations */
+       struct task_struct      *sleeper; /* this process */
+       struct sem_undo         *undo;   /* undo structure */
+       int                     pid;     /* process id of requesting process */
+       int                     status;  /* completion status of operation */
+       struct sembuf           *sops;   /* array of pending operations */
+       int                     nsops;   /* number of operations */
+       int                     alter;   /* does *sops alter the array? */
+};
+
+/* Each task has a list of undo requests. They are executed automatically
+ * when the process exits.
+ */
+struct sem_undo {
+       struct list_head        list_proc;      /* per-process list: *
+                                                * all undos from one process
+                                                * rcu protected */
+       struct rcu_head         rcu;            /* rcu struct for sem_undo */
+       struct sem_undo_list    *ulp;           /* back ptr to sem_undo_list */
+       struct list_head        list_id;        /* per semaphore array list:
+                                                * all undos for one array */
+       int                     semid;          /* semaphore set identifier */
+       short                   *semadj;        /* array of adjustments */
+                                               /* one per semaphore */
+};
+
+/* sem_undo_list controls shared access to the list of sem_undo structures
+ * that may be shared among all a CLONE_SYSVSEM task group.
+ */
+struct sem_undo_list {
+       atomic_t                refcnt;
+       spinlock_t              lock;
+       struct list_head        list_proc;
+};
+
+
 #define sem_ids(ns)    ((ns)->ids[IPC_SEM_IDS])
 
 #define sem_unlock(sma)                ipc_unlock(&(sma)->sem_perm)