オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.8.x/ccs-patch/security/ccsecurity/compat.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/1.7.x/ccs-patch/security/ccsecurity/compat.h revision 2944 by kumaneko, Mon Aug 24 05:00:52 2009 UTC branches/ccs-patch/security/ccsecurity/compat.h revision 3829 by kumaneko, Tue Jul 20 09:08:40 2010 UTC
# Line 1  Line 1 
1  /*  /*
2   * security/ccsecurity/compat.h   * security/ccsecurity/compat.h
3   *   *
4   * Copyright (C) 2005-2009  NTT DATA CORPORATION   * Copyright (C) 2005-2010  NTT DATA CORPORATION
5   *   *
6   * Version: 1.7.0-pre   2009/08/24   * Version: 1.7.2+   2010/06/04
7   *   *
8   * This file is applicable to both 2.4.30 and 2.6.11 and later.   * This file is applicable to both 2.4.30 and 2.6.11 and later.
9   * See README.ccs for ChangeLog.   * See README.ccs for ChangeLog.
# Line 42  Line 42 
42  #define current_fsgid()         (current->fsgid)  #define current_fsgid()         (current->fsgid)
43  #endif  #endif
44    
 #ifndef WARN_ON  
 #define WARN_ON(x) do { } while (0)  
 #endif  
   
45  #ifndef DEFINE_SPINLOCK  #ifndef DEFINE_SPINLOCK
46  #define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED  #define DEFINE_SPINLOCK(x) spinlock_t x = SPIN_LOCK_UNLOCKED
47  #endif  #endif
# Line 58  Line 54 
54  #define KERN_CONT ""  #define KERN_CONT ""
55  #endif  #endif
56    
 /* To support PID namespace. */  
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)  
 #define find_task_by_pid find_task_by_vpid  
 #endif  
   
57  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16)  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16)
58  #define mutex semaphore  #define mutex semaphore
59  #define mutex_init(mutex) init_MUTEX(mutex)  #define mutex_init(mutex) init_MUTEX(mutex)
 #define mutex_lock(mutex) down(mutex)  
60  #define mutex_unlock(mutex) up(mutex)  #define mutex_unlock(mutex) up(mutex)
61    #define mutex_lock(mutex) down(mutex)
62  #define mutex_lock_interruptible(mutex) down_interruptible(mutex)  #define mutex_lock_interruptible(mutex) down_interruptible(mutex)
63  #define mutex_trylock(mutex) !down_trylock(mutex)  #define mutex_trylock(mutex) (!down_trylock(mutex))
64  #define DEFINE_MUTEX(mutexname) DECLARE_MUTEX(mutexname)  #define DEFINE_MUTEX(mutexname) DECLARE_MUTEX(mutexname)
65  #endif  #endif
66    
# Line 113  Line 104 
104          })          })
105  #endif  #endif
106    
107  #ifndef list_for_each_rcu  #ifndef list_for_each_entry_rcu
108  #define list_for_each_rcu(pos, head)                    \  #define list_for_each_entry_rcu(pos, head, member)               \
109          for (pos = rcu_dereference((head)->next);       \          for (pos = list_entry(rcu_dereference((head)->next),     \
110               prefetch(pos->next), pos != (head);        \                                typeof(*pos), member);             \
111               pos = rcu_dereference(pos->next))               prefetch(pos->member.next), &pos->member != (head); \
112                 pos = list_entry(rcu_dereference(pos->member.next), \
113                                  typeof(*pos), member))
114  #endif  #endif
115    
116  #ifndef list_for_each_entry_rcu  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
117  #define list_for_each_entry_rcu(pos, head, member)                      \  #undef list_for_each_entry_rcu
118          for (pos = list_entry(rcu_dereference((head)->next), typeof(*pos), \  #define list_for_each_entry_rcu(pos, head, member)                         \
119                                member);                                  \          for (pos = list_entry(srcu_dereference((head)->next, &ccs_ss),     \
120               prefetch(pos->member.next), &pos->member != (head);        \                                typeof(*pos), member);                       \
121               pos = list_entry(rcu_dereference(pos->member.next),        \               prefetch(pos->member.next), &pos->member != (head);           \
122                 pos = list_entry(srcu_dereference(pos->member.next, &ccs_ss), \
123                                typeof(*pos), member))                                typeof(*pos), member))
124  #endif  #endif
125    
# Line 172  static inline void list_del_rcu(struct l Line 166  static inline void list_del_rcu(struct l
166    
167  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
168  #define s_fs_info u.generic_sbp  #define s_fs_info u.generic_sbp
 #else  
 #include <linux/audit.h>  
 #ifdef AUDIT_APPARMOR_AUDIT  
 /* AppArmor patch adds "struct vfsmount" to VFS helper functions. */  
 #define HAVE_VFSMOUNT_IN_VFS_HELPER  
 #endif  
 #endif  
   
 #if defined(RHEL_MAJOR) && RHEL_MAJOR == 5  
 #define HAVE_NO_I_BLKSIZE_IN_INODE  
 #elif defined(AX_MAJOR) && AX_MAJOR == 3  
 #define HAVE_NO_I_BLKSIZE_IN_INODE  
169  #endif  #endif
170    
171  #ifndef list_for_each_entry_safe  #ifndef list_for_each_entry_safe
# Line 198  static inline void list_del_rcu(struct l Line 180  static inline void list_del_rcu(struct l
180  #define sk_family family  #define sk_family family
181  #define sk_protocol protocol  #define sk_protocol protocol
182  #define sk_type type  #define sk_type type
 #define sk_receive_queue receive_queue  
183  static inline struct socket *SOCKET_I(struct inode *inode)  static inline struct socket *SOCKET_I(struct inode *inode)
184  {  {
185          return inode->i_sock ? &inode->u.socket_i : NULL;          return inode->i_sock ? &inode->u.socket_i : NULL;
# Line 219  static inline struct socket *SOCKET_I(st Line 200  static inline struct socket *SOCKET_I(st
200  #endif /* __LITTLE_ENDIAN */  #endif /* __LITTLE_ENDIAN */
201  #endif  #endif
202    
 #ifndef _LINUX_SRCU_H  
   
 struct srcu_struct {  
         int counter_idx;  
         int counter[2];  
 };  
   
 static inline int init_srcu_struct(struct srcu_struct *sp)  
 {  
         return 0;  
 }  
   
 int srcu_read_lock(struct srcu_struct *sp);  
 void srcu_read_unlock(struct srcu_struct *sp, const int idx);  
 void synchronize_srcu(struct srcu_struct *sp);  
   
 #endif  
   
203  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
   
204  struct path {  struct path {
205          struct vfsmount *mnt;          struct vfsmount *mnt;
206          struct dentry *dentry;          struct dentry *dentry;
207  };  };
   
208  #endif  #endif
209    
210  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)

Legend:
Removed from v.2944  
changed lines
  Added in v.3829

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26