Subject: linux-next: manual merge of the keys tree with the security tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 29 Aug 2019 15:06:09 +1000

Hi all,

Today's linux-next merge of the keys tree got a conflict in:

  include/linux/security.h

between commit:

  9e47d31d6a57 ("security: Add a "locked down" LSM hook")

from the security tree and commit:

  25d2a1e61245 ("security: Add hooks to rule on setting a watch")

from the keys tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc include/linux/security.h
index 23e1c3f17d48,003437714eee..000000000000
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@@ -441,7 -394,13 +443,14 @@@ void security_inode_invalidate_secctx(s
  int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
  int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen);
  int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
 +int security_locked_down(enum lockdown_reason what);
+ #ifdef CONFIG_WATCH_QUEUE
+ int security_watch_key(struct watch *watch, struct key *key);
+ int security_watch_devices(struct watch *watch);
+ int security_post_notification(const struct cred *w_cred,
+ 			       const struct cred *cred,
+ 			       struct watch_notification *n);
+ #endif /* CONFIG_WATCH_QUEUE */
  #else /* CONFIG_SECURITY */
  
  static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
@@@ -1259,10 -1213,22 +1268,26 @@@ static inline int security_inode_getsec
  {
  	return -EOPNOTSUPP;
  }
 +static inline int security_locked_down(enum lockdown_reason what)
 +{
 +	return 0;
 +}
+ #ifdef CONFIG_WATCH_QUEUE
+ static inline int security_watch_key(struct watch *watch, struct key *key)
+ {
+ 	return 0;
+ }
+ static inline int security_watch_devices(struct watch *watch)
+ {
+ 	return 0;
+ }
+ static inline int security_post_notification(const struct cred *w_cred,
+ 					     const struct cred *cred,
+ 					     struct watch_notification *n)
+ {
+ 	return 0;
+ }
+ #endif /* CONFIG_WATCH_QUEUE */
  #endif	/* CONFIG_SECURITY */
  
  #ifdef CONFIG_SECURITY_NETWORK