Merge tag 'v4.17-rc2' into next-general
authorJames Morris <james.morris@microsoft.com>
Mon, 23 Apr 2018 17:57:26 +0000 (03:57 +1000)
committerJames Morris <james.morris@microsoft.com>
Mon, 23 Apr 2018 17:57:26 +0000 (03:57 +1000)
Sync to Linux 4.17-rc2 for developers.

1  2 
include/linux/security.h

diff --combined include/linux/security.h
index 5111fe8159cea7b5961fa6920ffdeb206643d132,200920f521a1ea03aed601eb5ae69bcdd66aac09..ecb06e1357dd12bbcfd96eba526d673d344b8006
@@@ -36,7 -36,6 +36,6 @@@ struct linux_binprm
  struct cred;
  struct rlimit;
  struct siginfo;
- struct sem_array;
  struct sembuf;
  struct kern_ipc_perm;
  struct audit_context;
@@@ -50,9 -49,7 +49,7 @@@ struct qstr
  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;
@@@ -115,6 -112,7 +112,7 @@@ struct xfrm_policy
  struct xfrm_state;
  struct xfrm_user_sec_ctx;
  struct seq_file;
+ struct sctp_endpoint;
  
  #ifdef CONFIG_MMU
  extern unsigned long mmap_min_addr;
@@@ -222,6 -220,12 +220,6 @@@ int security_quotactl(int cmds, int typ
  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);
@@@ -318,6 -322,7 +316,7 @@@ int security_cred_alloc_blank(struct cr
  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);
@@@ -349,24 -354,24 +348,24 @@@ int security_ipc_permission(struct kern
  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);
@@@ -503,6 -508,14 +502,6 @@@ static inline int security_settime64(co
        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));
@@@ -1031,32 -1044,32 +1030,32 @@@ static inline int security_msg_msg_allo
  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)
  {
@@@ -1215,6 -1228,11 +1214,11 @@@ int security_tun_dev_create(void)
  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,
@@@ -1407,6 -1425,25 +1411,25 @@@ static inline int security_tun_dev_open
  {
        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