struct cred;
struct rlimit;
struct siginfo;
- struct sem_array;
struct sembuf;
struct kern_ipc_perm;
struct audit_context;
struct iattr;
struct fown_struct;
struct file_operations;
- struct shmid_kernel;
struct msg_msg;
- struct msg_queue;
struct xattr;
struct xfrm_sec_ctx;
struct mm_struct;
struct xfrm_state;
struct xfrm_user_sec_ctx;
struct seq_file;
+ struct sctp_endpoint;
#ifdef CONFIG_MMU
extern unsigned long mmap_min_addr;
int security_quota_on(struct dentry *dentry);
int security_syslog(int type);
int security_settime64(const struct timespec64 *ts, const struct timezone *tz);
-static inline int security_settime(const struct timespec *ts, const struct timezone *tz)
-{
- struct timespec64 ts64 = timespec_to_timespec64(*ts);
-
- return security_settime64(&ts64, tz);
-}
int security_vm_enough_memory_mm(struct mm_struct *mm, long pages);
int security_bprm_set_creds(struct linux_binprm *bprm);
int security_bprm_check(struct linux_binprm *bprm);
void security_cred_free(struct cred *cred);
int security_prepare_creds(struct cred *new, const struct cred *old, gfp_t gfp);
void security_transfer_creds(struct cred *new, const struct cred *old);
+ void security_cred_getsecid(const struct cred *c, u32 *secid);
int security_kernel_act_as(struct cred *new, u32 secid);
int security_kernel_create_files_as(struct cred *new, struct inode *inode);
int security_kernel_module_request(char *kmod_name);
void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid);
int security_msg_msg_alloc(struct msg_msg *msg);
void security_msg_msg_free(struct msg_msg *msg);
- int security_msg_queue_alloc(struct msg_queue *msq);
- void security_msg_queue_free(struct msg_queue *msq);
- int security_msg_queue_associate(struct msg_queue *msq, int msqflg);
- int security_msg_queue_msgctl(struct msg_queue *msq, int cmd);
- int security_msg_queue_msgsnd(struct msg_queue *msq,
+ int security_msg_queue_alloc(struct kern_ipc_perm *msq);
+ void security_msg_queue_free(struct kern_ipc_perm *msq);
+ int security_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg);
+ int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd);
+ int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
struct msg_msg *msg, int msqflg);
- int security_msg_queue_msgrcv(struct msg_queue *msq, struct msg_msg *msg,
+ int security_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *msg,
struct task_struct *target, long type, int mode);
- int security_shm_alloc(struct shmid_kernel *shp);
- void security_shm_free(struct shmid_kernel *shp);
- int security_shm_associate(struct shmid_kernel *shp, int shmflg);
- int security_shm_shmctl(struct shmid_kernel *shp, int cmd);
- int security_shm_shmat(struct shmid_kernel *shp, char __user *shmaddr, int shmflg);
- int security_sem_alloc(struct sem_array *sma);
- void security_sem_free(struct sem_array *sma);
- int security_sem_associate(struct sem_array *sma, int semflg);
- int security_sem_semctl(struct sem_array *sma, int cmd);
- int security_sem_semop(struct sem_array *sma, struct sembuf *sops,
+ int security_shm_alloc(struct kern_ipc_perm *shp);
+ void security_shm_free(struct kern_ipc_perm *shp);
+ int security_shm_associate(struct kern_ipc_perm *shp, int shmflg);
+ int security_shm_shmctl(struct kern_ipc_perm *shp, int cmd);
+ int security_shm_shmat(struct kern_ipc_perm *shp, char __user *shmaddr, int shmflg);
+ int security_sem_alloc(struct kern_ipc_perm *sma);
+ void security_sem_free(struct kern_ipc_perm *sma);
+ int security_sem_associate(struct kern_ipc_perm *sma, int semflg);
+ int security_sem_semctl(struct kern_ipc_perm *sma, int cmd);
+ int security_sem_semop(struct kern_ipc_perm *sma, struct sembuf *sops,
unsigned nsops, int alter);
void security_d_instantiate(struct dentry *dentry, struct inode *inode);
int security_getprocattr(struct task_struct *p, char *name, char **value);
return cap_settime(ts, tz);
}
-static inline int security_settime(const struct timespec *ts,
- const struct timezone *tz)
-{
- struct timespec64 ts64 = timespec_to_timespec64(*ts);
-
- return cap_settime(&ts64, tz);
-}
-
static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
{
return __vm_enough_memory(mm, pages, cap_vm_enough_memory(mm, pages));
static inline void security_msg_msg_free(struct msg_msg *msg)
{ }
- static inline int security_msg_queue_alloc(struct msg_queue *msq)
+ static inline int security_msg_queue_alloc(struct kern_ipc_perm *msq)
{
return 0;
}
- static inline void security_msg_queue_free(struct msg_queue *msq)
+ static inline void security_msg_queue_free(struct kern_ipc_perm *msq)
{ }
- static inline int security_msg_queue_associate(struct msg_queue *msq,
+ static inline int security_msg_queue_associate(struct kern_ipc_perm *msq,
int msqflg)
{
return 0;
}
- static inline int security_msg_queue_msgctl(struct msg_queue *msq, int cmd)
+ static inline int security_msg_queue_msgctl(struct kern_ipc_perm *msq, int cmd)
{
return 0;
}
- static inline int security_msg_queue_msgsnd(struct msg_queue *msq,
+ static inline int security_msg_queue_msgsnd(struct kern_ipc_perm *msq,
struct msg_msg *msg, int msqflg)
{
return 0;
}
- static inline int security_msg_queue_msgrcv(struct msg_queue *msq,
+ static inline int security_msg_queue_msgrcv(struct kern_ipc_perm *msq,
struct msg_msg *msg,
struct task_struct *target,
long type, int mode)
return 0;
}
- static inline int security_shm_alloc(struct shmid_kernel *shp)
+ static inline int security_shm_alloc(struct kern_ipc_perm *shp)
{
return 0;
}
- static inline void security_shm_free(struct shmid_kernel *shp)
+ static inline void security_shm_free(struct kern_ipc_perm *shp)
{ }
- static inline int security_shm_associate(struct shmid_kernel *shp,
+ static inline int security_shm_associate(struct kern_ipc_perm *shp,
int shmflg)
{
return 0;
}
- static inline int security_shm_shmctl(struct shmid_kernel *shp, int cmd)
+ static inline int security_shm_shmctl(struct kern_ipc_perm *shp, int cmd)
{
return 0;
}
- static inline int security_shm_shmat(struct shmid_kernel *shp,
+ static inline int security_shm_shmat(struct kern_ipc_perm *shp,
char __user *shmaddr, int shmflg)
{
return 0;
}
- static inline int security_sem_alloc(struct sem_array *sma)
+ static inline int security_sem_alloc(struct kern_ipc_perm *sma)
{
return 0;
}
- static inline void security_sem_free(struct sem_array *sma)
+ static inline void security_sem_free(struct kern_ipc_perm *sma)
{ }
- static inline int security_sem_associate(struct sem_array *sma, int semflg)
+ static inline int security_sem_associate(struct kern_ipc_perm *sma, int semflg)
{
return 0;
}
- static inline int security_sem_semctl(struct sem_array *sma, int cmd)
+ static inline int security_sem_semctl(struct kern_ipc_perm *sma, int cmd)
{
return 0;
}
- static inline int security_sem_semop(struct sem_array *sma,
+ static inline int security_sem_semop(struct kern_ipc_perm *sma,
struct sembuf *sops, unsigned nsops,
int alter)
{
int security_tun_dev_attach_queue(void *security);
int security_tun_dev_attach(struct sock *sk, void *security);
int security_tun_dev_open(void *security);
+ int security_sctp_assoc_request(struct sctp_endpoint *ep, struct sk_buff *skb);
+ int security_sctp_bind_connect(struct sock *sk, int optname,
+ struct sockaddr *address, int addrlen);
+ void security_sctp_sk_clone(struct sctp_endpoint *ep, struct sock *sk,
+ struct sock *newsk);
#else /* CONFIG_SECURITY_NETWORK */
static inline int security_unix_stream_connect(struct sock *sock,
{
return 0;
}
+
+ static inline int security_sctp_assoc_request(struct sctp_endpoint *ep,
+ struct sk_buff *skb)
+ {
+ return 0;
+ }
+
+ static inline int security_sctp_bind_connect(struct sock *sk, int optname,
+ struct sockaddr *address,
+ int addrlen)
+ {
+ return 0;
+ }
+
+ static inline void security_sctp_sk_clone(struct sctp_endpoint *ep,
+ struct sock *sk,
+ struct sock *newsk)
+ {
+ }
#endif /* CONFIG_SECURITY_NETWORK */
#ifdef CONFIG_SECURITY_INFINIBAND