diff options
| author | Dave Airlie <airlied@redhat.com> | 2013-02-08 12:10:18 +1000 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2013-02-08 12:10:18 +1000 | 
| commit | 6dc1c49da6dd3bf020a66b2a135b9625ac01c2c7 (patch) | |
| tree | 38a6c5d4896de01449e9d224088ae223161fcd3c /include/linux/security.h | |
| parent | cd17ef4114ad5c514b17e6a0bb02a309ab90b692 (diff) | |
| parent | 5845b81bdad374f98f809a658ec747d92c9595c4 (diff) | |
| download | olio-linux-3.10-6dc1c49da6dd3bf020a66b2a135b9625ac01c2c7.tar.xz olio-linux-3.10-6dc1c49da6dd3bf020a66b2a135b9625ac01c2c7.zip  | |
Merge branch 'fbcon-locking-fixes' of ssh://people.freedesktop.org/~airlied/linux into drm-next
This pulls in most of Linus tree up to -rc6, this fixes the worst lockdep
reported issues and re-enables fbcon lockdep.
(not the fbcon maintainer)
* 'fbcon-locking-fixes' of ssh://people.freedesktop.org/~airlied/linux: (529 commits)
  Revert "Revert "console: implement lockdep support for console_lock""
  fbcon: fix locking harder
  fb: Yet another band-aid for fixing lockdep mess
  fb: rework locking to fix lock ordering on takeover
Diffstat (limited to 'include/linux/security.h')
| -rw-r--r-- | include/linux/security.h | 59 | 
1 files changed, 46 insertions, 13 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 0f6afc657f7..eee7478cda7 100644 --- a/include/linux/security.h +++ b/include/linux/security.h @@ -989,17 +989,29 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts)   *	tells the LSM to decrement the number of secmark labeling rules loaded   * @req_classify_flow:   *	Sets the flow's sid to the openreq sid. + * @tun_dev_alloc_security: + *	This hook allows a module to allocate a security structure for a TUN + *	device. + *	@security pointer to a security structure pointer. + *	Returns a zero on success, negative values on failure. + * @tun_dev_free_security: + *	This hook allows a module to free the security structure for a TUN + *	device. + *	@security pointer to the TUN device's security structure   * @tun_dev_create:   *	Check permissions prior to creating a new TUN device. - * @tun_dev_post_create: - *	This hook allows a module to update or allocate a per-socket security - *	structure. - *	@sk contains the newly created sock structure. + * @tun_dev_attach_queue: + *	Check permissions prior to attaching to a TUN device queue. + *	@security pointer to the TUN device's security structure.   * @tun_dev_attach: - *	Check permissions prior to attaching to a persistent TUN device.  This - *	hook can also be used by the module to update any security state + *	This hook can be used by the module to update any security state   *	associated with the TUN device's sock structure.   *	@sk contains the existing sock structure. + *	@security pointer to the TUN device's security structure. + * @tun_dev_open: + *	This hook can be used by the module to update any security state + *	associated with the TUN device's security structure. + *	@security pointer to the TUN devices's security structure.   *   * Security hooks for XFRM operations.   * @@ -1620,9 +1632,12 @@ struct security_operations {  	void (*secmark_refcount_inc) (void);  	void (*secmark_refcount_dec) (void);  	void (*req_classify_flow) (const struct request_sock *req, struct flowi *fl); -	int (*tun_dev_create)(void); -	void (*tun_dev_post_create)(struct sock *sk); -	int (*tun_dev_attach)(struct sock *sk); +	int (*tun_dev_alloc_security) (void **security); +	void (*tun_dev_free_security) (void *security); +	int (*tun_dev_create) (void); +	int (*tun_dev_attach_queue) (void *security); +	int (*tun_dev_attach) (struct sock *sk, void *security); +	int (*tun_dev_open) (void *security);  #endif	/* CONFIG_SECURITY_NETWORK */  #ifdef CONFIG_SECURITY_NETWORK_XFRM @@ -2566,9 +2581,12 @@ void security_inet_conn_established(struct sock *sk,  int security_secmark_relabel_packet(u32 secid);  void security_secmark_refcount_inc(void);  void security_secmark_refcount_dec(void); +int security_tun_dev_alloc_security(void **security); +void security_tun_dev_free_security(void *security);  int security_tun_dev_create(void); -void security_tun_dev_post_create(struct sock *sk); -int security_tun_dev_attach(struct sock *sk); +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);  #else	/* CONFIG_SECURITY_NETWORK */  static inline int security_unix_stream_connect(struct sock *sock, @@ -2733,16 +2751,31 @@ static inline void security_secmark_refcount_dec(void)  {  } +static inline int security_tun_dev_alloc_security(void **security) +{ +	return 0; +} + +static inline void security_tun_dev_free_security(void *security) +{ +} +  static inline int security_tun_dev_create(void)  {  	return 0;  } -static inline void security_tun_dev_post_create(struct sock *sk) +static inline int security_tun_dev_attach_queue(void *security) +{ +	return 0; +} + +static inline int security_tun_dev_attach(struct sock *sk, void *security)  { +	return 0;  } -static inline int security_tun_dev_attach(struct sock *sk) +static inline int security_tun_dev_open(void *security)  {  	return 0;  }  |