Subject: linux-next: manual merge of the rust tree with the char-misc tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 16 Apr 2021 17:58:06 +1000

Hi all,

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

  include/uapi/linux/android/binder.h

between commits:

  432ff1e91694 ("binder: BINDER_FREEZE ioctl")
  ae28c1be1e54 ("binder: BINDER_GET_FROZEN_INFO ioctl")
  a7dc1e6f99df ("binder: tell userspace to dump current backtrace when detected oneway spamming")

from the char-misc tree and commit:

  1fed5dee5fbb ("Android: Binder IPC in Rust (WIP)")

from the rust 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/uapi/linux/android/binder.h
index 20e435fe657a,7b13c9e9aa2f..000000000000
--- a/include/uapi/linux/android/binder.h
+++ b/include/uapi/linux/android/binder.h
@@@ -217,31 -217,18 +217,33 @@@ struct binder_node_info_for_ref 
  	__u32            reserved3;
  };
  
 +struct binder_freeze_info {
 +	__u32            pid;
 +	__u32            enable;
 +	__u32            timeout_ms;
 +};
 +
 +struct binder_frozen_status_info {
 +	__u32            pid;
 +	__u32            sync_recv;
 +	__u32            async_recv;
 +};
 +
- #define BINDER_WRITE_READ		_IOWR('b', 1, struct binder_write_read)
- #define BINDER_SET_IDLE_TIMEOUT		_IOW('b', 3, __s64)
- #define BINDER_SET_MAX_THREADS		_IOW('b', 5, __u32)
- #define BINDER_SET_IDLE_PRIORITY	_IOW('b', 6, __s32)
- #define BINDER_SET_CONTEXT_MGR		_IOW('b', 7, __s32)
- #define BINDER_THREAD_EXIT		_IOW('b', 8, __s32)
- #define BINDER_VERSION			_IOWR('b', 9, struct binder_version)
- #define BINDER_GET_NODE_DEBUG_INFO	_IOWR('b', 11, struct binder_node_debug_info)
- #define BINDER_GET_NODE_INFO_FOR_REF	_IOWR('b', 12, struct binder_node_info_for_ref)
- #define BINDER_SET_CONTEXT_MGR_EXT	_IOW('b', 13, struct flat_binder_object)
- #define BINDER_FREEZE			_IOW('b', 14, struct binder_freeze_info)
- #define BINDER_GET_FROZEN_INFO		_IOWR('b', 15, struct binder_frozen_status_info)
- #define BINDER_ENABLE_ONEWAY_SPAM_DETECTION	_IOW('b', 16, __u32)
+ enum {
+ 	BINDER_WRITE_READ		= _IOWR('b', 1, struct binder_write_read),
+ 	BINDER_SET_IDLE_TIMEOUT		= _IOW('b', 3, __s64),
+ 	BINDER_SET_MAX_THREADS		= _IOW('b', 5, __u32),
+ 	BINDER_SET_IDLE_PRIORITY	= _IOW('b', 6, __s32),
+ 	BINDER_SET_CONTEXT_MGR		= _IOW('b', 7, __s32),
+ 	BINDER_THREAD_EXIT		= _IOW('b', 8, __s32),
+ 	BINDER_VERSION			= _IOWR('b', 9, struct binder_version),
+ 	BINDER_GET_NODE_DEBUG_INFO	= _IOWR('b', 11, struct binder_node_debug_info),
+ 	BINDER_GET_NODE_INFO_FOR_REF	= _IOWR('b', 12, struct binder_node_info_for_ref),
+ 	BINDER_SET_CONTEXT_MGR_EXT	= _IOW('b', 13, struct flat_binder_object),
++	BINDER_FREEZE			= _IOW('b', 14, struct binder_freeze_info)
++	BINDER_GET_FROZEN_INFO		= _IOWR('b', 15, struct binder_frozen_status_info)
++	BINDER_ENABLE_ONEWAY_SPAM_DETECTION	= _IOW('b', 16, __u32)
+ };
  
  /*
   * NOTE: Two special error codes you should check for when calling