All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-stable-rc:linux-4.19.y 4411/9999] drivers/android/binder.c:3492: Error: unrecognized keyword/register name `l.lwz
@ 2020-12-15 21:00 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-15 21:00 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 58573 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
head:   e864f43593ccf9180c61738abdf1c1dde091367d
commit: b0cb2d8164d0dfd19ef050505fbf936b2df1b10d [4411/9999] android: binder: no outgoing transaction when thread todo has transaction
config: openrisc-randconfig-r033-20201215 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=b0cb2d8164d0dfd19ef050505fbf936b2df1b10d
        git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
        git fetch --no-tags linux-stable-rc linux-4.19.y
        git checkout b0cb2d8164d0dfd19ef050505fbf936b2df1b10d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/android/binder.c: Assembler messages:
>> drivers/android/binder.c:3492: Error: unrecognized keyword/register name `l.lwz ?ap,4(r28)'
   drivers/android/binder.c:3497: Error: unrecognized keyword/register name `l.addi ?ap,r0,0'

vim +3492 drivers/android/binder.c

355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3325  
fb07ebc3e82a98a drivers/staging/android/binder.c Bojan Prtvar           2013-09-02  3326  static int binder_thread_write(struct binder_proc *proc,
fb07ebc3e82a98a drivers/staging/android/binder.c Bojan Prtvar           2013-09-02  3327  			struct binder_thread *thread,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3328  			binder_uintptr_t binder_buffer, size_t size,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3329  			binder_size_t *consumed)
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3330  {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3331  	uint32_t cmd;
342e5c90b60134d drivers/android/binder.c         Martijn Coenen         2017-02-03  3332  	struct binder_context *context = proc->context;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3333  	void __user *buffer = (void __user *)(uintptr_t)binder_buffer;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3334  	void __user *ptr = buffer + *consumed;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3335  	void __user *end = buffer + size;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3336  
26549d17741035b drivers/android/binder.c         Todd Kjos              2017-06-29  3337  	while (ptr < end && thread->return_error.cmd == BR_OK) {
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3338  		int ret;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3339  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3340  		if (get_user(cmd, (uint32_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3341  			return -EFAULT;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3342  		ptr += sizeof(uint32_t);
975a1ac9a9fe65d drivers/staging/android/binder.c Arve Hjønnevåg         2012-10-16  3343  		trace_binder_command(cmd);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3344  		if (_IOC_NR(cmd) < ARRAY_SIZE(binder_stats.bc)) {
0953c7976c36ce0 drivers/android/binder.c         Badhri Jagan Sridharan 2017-06-29  3345  			atomic_inc(&binder_stats.bc[_IOC_NR(cmd)]);
0953c7976c36ce0 drivers/android/binder.c         Badhri Jagan Sridharan 2017-06-29  3346  			atomic_inc(&proc->stats.bc[_IOC_NR(cmd)]);
0953c7976c36ce0 drivers/android/binder.c         Badhri Jagan Sridharan 2017-06-29  3347  			atomic_inc(&thread->stats.bc[_IOC_NR(cmd)]);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3348  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3349  		switch (cmd) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3350  		case BC_INCREFS:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3351  		case BC_ACQUIRE:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3352  		case BC_RELEASE:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3353  		case BC_DECREFS: {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3354  			uint32_t target;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3355  			const char *debug_string;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3356  			bool strong = cmd == BC_ACQUIRE || cmd == BC_RELEASE;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3357  			bool increment = cmd == BC_INCREFS || cmd == BC_ACQUIRE;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3358  			struct binder_ref_data rdata;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3359  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3360  			if (get_user(target, (uint32_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3361  				return -EFAULT;
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3362  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3363  			ptr += sizeof(uint32_t);
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3364  			ret = -1;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3365  			if (increment && !target) {
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3366  				struct binder_node *ctx_mgr_node;
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3367  				mutex_lock(&context->context_mgr_node_lock);
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3368  				ctx_mgr_node = context->binder_context_mgr_node;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3369  				if (ctx_mgr_node)
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3370  					ret = binder_inc_ref_for_node(
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3371  							proc, ctx_mgr_node,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3372  							strong, NULL, &rdata);
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3373  				mutex_unlock(&context->context_mgr_node_lock);
c44b1231ff11709 drivers/android/binder.c         Todd Kjos              2017-06-29  3374  			}
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3375  			if (ret)
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3376  				ret = binder_update_ref_for_handle(
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3377  						proc, target, increment, strong,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3378  						&rdata);
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3379  			if (!ret && rdata.desc != target) {
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3380  				binder_user_error("%d:%d tried to acquire reference to desc %d, got %d instead\n",
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3381  					proc->pid, thread->pid,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3382  					target, rdata.desc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3383  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3384  			switch (cmd) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3385  			case BC_INCREFS:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3386  				debug_string = "IncRefs";
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3387  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3388  			case BC_ACQUIRE:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3389  				debug_string = "Acquire";
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3390  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3391  			case BC_RELEASE:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3392  				debug_string = "Release";
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3393  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3394  			case BC_DECREFS:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3395  			default:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3396  				debug_string = "DecRefs";
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3397  				break;
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3398  			}
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3399  			if (ret) {
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3400  				binder_user_error("%d:%d %s %d refcount change on invalid ref %d ret %d\n",
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3401  					proc->pid, thread->pid, debug_string,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3402  					strong, target, ret);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3403  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3404  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3405  			binder_debug(BINDER_DEBUG_USER_REFS,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3406  				     "%d:%d %s ref %d desc %d s %d w %d\n",
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3407  				     proc->pid, thread->pid, debug_string,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3408  				     rdata.debug_id, rdata.desc, rdata.strong,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3409  				     rdata.weak);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3410  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3411  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3412  		case BC_INCREFS_DONE:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3413  		case BC_ACQUIRE_DONE: {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3414  			binder_uintptr_t node_ptr;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3415  			binder_uintptr_t cookie;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3416  			struct binder_node *node;
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3417  			bool free_node;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3418  
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3419  			if (get_user(node_ptr, (binder_uintptr_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3420  				return -EFAULT;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3421  			ptr += sizeof(binder_uintptr_t);
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3422  			if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3423  				return -EFAULT;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3424  			ptr += sizeof(binder_uintptr_t);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3425  			node = binder_get_node(proc, node_ptr);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3426  			if (node == NULL) {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3427  				binder_user_error("%d:%d %s u%016llx no match\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3428  					proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3429  					cmd == BC_INCREFS_DONE ?
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3430  					"BC_INCREFS_DONE" :
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3431  					"BC_ACQUIRE_DONE",
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3432  					(u64)node_ptr);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3433  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3434  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3435  			if (cookie != node->cookie) {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3436  				binder_user_error("%d:%d %s u%016llx node %d cookie mismatch %016llx != %016llx\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3437  					proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3438  					cmd == BC_INCREFS_DONE ?
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3439  					"BC_INCREFS_DONE" : "BC_ACQUIRE_DONE",
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3440  					(u64)node_ptr, node->debug_id,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3441  					(u64)cookie, (u64)node->cookie);
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3442  				binder_put_node(node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3443  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3444  			}
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3445  			binder_node_inner_lock(node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3446  			if (cmd == BC_ACQUIRE_DONE) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3447  				if (node->pending_strong_ref == 0) {
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3448  					binder_user_error("%d:%d BC_ACQUIRE_DONE node %d has no pending acquire request\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3449  						proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3450  						node->debug_id);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3451  					binder_node_inner_unlock(node);
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3452  					binder_put_node(node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3453  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3454  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3455  				node->pending_strong_ref = 0;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3456  			} else {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3457  				if (node->pending_weak_ref == 0) {
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3458  					binder_user_error("%d:%d BC_INCREFS_DONE node %d has no pending increfs request\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3459  						proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3460  						node->debug_id);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3461  					binder_node_inner_unlock(node);
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3462  					binder_put_node(node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3463  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3464  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3465  				node->pending_weak_ref = 0;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3466  			}
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3467  			free_node = binder_dec_node_nilocked(node,
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3468  					cmd == BC_ACQUIRE_DONE, 0);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3469  			WARN_ON(free_node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3470  			binder_debug(BINDER_DEBUG_USER_REFS,
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3471  				     "%d:%d %s node %d ls %d lw %d tr %d\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3472  				     proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3473  				     cmd == BC_INCREFS_DONE ? "BC_INCREFS_DONE" : "BC_ACQUIRE_DONE",
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3474  				     node->debug_id, node->local_strong_refs,
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3475  				     node->local_weak_refs, node->tmp_refs);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3476  			binder_node_inner_unlock(node);
adc1884222276df drivers/android/binder.c         Todd Kjos              2017-06-29  3477  			binder_put_node(node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3478  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3479  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3480  		case BC_ATTEMPT_ACQUIRE:
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3481  			pr_err("BC_ATTEMPT_ACQUIRE not supported\n");
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3482  			return -EINVAL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3483  		case BC_ACQUIRE_RESULT:
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3484  			pr_err("BC_ACQUIRE_RESULT not supported\n");
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3485  			return -EINVAL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3486  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3487  		case BC_FREE_BUFFER: {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3488  			binder_uintptr_t data_ptr;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3489  			struct binder_buffer *buffer;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3490  
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3491  			if (get_user(data_ptr, (binder_uintptr_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30 @3492  				return -EFAULT;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3493  			ptr += sizeof(binder_uintptr_t);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3494  
53d311cfa19ad35 drivers/android/binder.c         Todd Kjos              2017-06-29  3495  			buffer = binder_alloc_prepare_to_free(&proc->alloc,
19c987241ca1216 drivers/android/binder.c         Todd Kjos              2017-06-29  3496  							      data_ptr);
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3497  			if (IS_ERR_OR_NULL(buffer)) {
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3498  				if (PTR_ERR(buffer) == -EPERM) {
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3499  					binder_user_error(
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3500  						"%d:%d BC_FREE_BUFFER u%016llx matched unreturned or currently freeing buffer\n",
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3501  						proc->pid, thread->pid,
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3502  						(u64)data_ptr);
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3503  				} else {
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3504  					binder_user_error(
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3505  						"%d:%d BC_FREE_BUFFER u%016llx no match\n",
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3506  						proc->pid, thread->pid,
553927d6aab993e drivers/android/binder.c         Todd Kjos              2018-11-06  3507  						(u64)data_ptr);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3508  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3509  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3510  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3511  			binder_debug(BINDER_DEBUG_FREE_BUFFER,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3512  				     "%d:%d BC_FREE_BUFFER u%016llx found buffer %d for %s transaction\n",
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3513  				     proc->pid, thread->pid, (u64)data_ptr,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3514  				     buffer->debug_id,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3515  				     buffer->transaction ? "active" : "finished");
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3516  
22068d49d09d2b3 drivers/android/binder.c         Todd Kjos              2019-06-12  3517  			binder_inner_proc_lock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3518  			if (buffer->transaction) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3519  				buffer->transaction->buffer = NULL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3520  				buffer->transaction = NULL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3521  			}
22068d49d09d2b3 drivers/android/binder.c         Todd Kjos              2019-06-12  3522  			binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3523  			if (buffer->async_transaction && buffer->target_node) {
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3524  				struct binder_node *buf_node;
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3525  				struct binder_work *w;
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3526  
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3527  				buf_node = buffer->target_node;
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3528  				binder_node_inner_lock(buf_node);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3529  				BUG_ON(!buf_node->has_async_transaction);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3530  				BUG_ON(buf_node->proc != proc);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3531  				w = binder_dequeue_work_head_ilocked(
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3532  						&buf_node->async_todo);
3a6430ce462172c drivers/android/binder.c         Martijn Coenen         2017-08-31  3533  				if (!w) {
197410ad884eb18 drivers/android/binder.c         Gustavo A. R. Silva    2018-01-23  3534  					buf_node->has_async_transaction = false;
3a6430ce462172c drivers/android/binder.c         Martijn Coenen         2017-08-31  3535  				} else {
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3536  					binder_enqueue_work_ilocked(
3a6430ce462172c drivers/android/binder.c         Martijn Coenen         2017-08-31  3537  							w, &proc->todo);
3a6430ce462172c drivers/android/binder.c         Martijn Coenen         2017-08-31  3538  					binder_wakeup_proc_ilocked(proc);
3a6430ce462172c drivers/android/binder.c         Martijn Coenen         2017-08-31  3539  				}
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3540  				binder_node_inner_unlock(buf_node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3541  			}
975a1ac9a9fe65d drivers/staging/android/binder.c Arve Hjønnevåg         2012-10-16  3542  			trace_binder_transaction_buffer_release(buffer);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3543  			binder_transaction_buffer_release(proc, buffer, NULL);
19c987241ca1216 drivers/android/binder.c         Todd Kjos              2017-06-29  3544  			binder_alloc_free_buf(&proc->alloc, buffer);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3545  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3546  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3547  
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3548  		case BC_TRANSACTION_SG:
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3549  		case BC_REPLY_SG: {
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3550  			struct binder_transaction_data_sg tr;
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3551  
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3552  			if (copy_from_user(&tr, ptr, sizeof(tr)))
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3553  				return -EFAULT;
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3554  			ptr += sizeof(tr);
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3555  			binder_transaction(proc, thread, &tr.transaction_data,
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3556  					   cmd == BC_REPLY_SG, tr.buffers_size);
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3557  			break;
7980240b6d63e06 drivers/android/binder.c         Martijn Coenen         2017-02-03  3558  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3559  		case BC_TRANSACTION:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3560  		case BC_REPLY: {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3561  			struct binder_transaction_data tr;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3562  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3563  			if (copy_from_user(&tr, ptr, sizeof(tr)))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3564  				return -EFAULT;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3565  			ptr += sizeof(tr);
4bfac80af3a63f2 drivers/android/binder.c         Martijn Coenen         2017-02-03  3566  			binder_transaction(proc, thread, &tr,
4bfac80af3a63f2 drivers/android/binder.c         Martijn Coenen         2017-02-03  3567  					   cmd == BC_REPLY, 0);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3568  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3569  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3570  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3571  		case BC_REGISTER_LOOPER:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3572  			binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3573  				     "%d:%d BC_REGISTER_LOOPER\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3574  				     proc->pid, thread->pid);
b3e6861283790d7 drivers/android/binder.c         Todd Kjos              2017-06-29  3575  			binder_inner_proc_lock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3576  			if (thread->looper & BINDER_LOOPER_STATE_ENTERED) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3577  				thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3578  				binder_user_error("%d:%d ERROR: BC_REGISTER_LOOPER called after BC_ENTER_LOOPER\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3579  					proc->pid, thread->pid);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3580  			} else if (proc->requested_threads == 0) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3581  				thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3582  				binder_user_error("%d:%d ERROR: BC_REGISTER_LOOPER called without request\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3583  					proc->pid, thread->pid);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3584  			} else {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3585  				proc->requested_threads--;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3586  				proc->requested_threads_started++;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3587  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3588  			thread->looper |= BINDER_LOOPER_STATE_REGISTERED;
b3e6861283790d7 drivers/android/binder.c         Todd Kjos              2017-06-29  3589  			binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3590  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3591  		case BC_ENTER_LOOPER:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3592  			binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3593  				     "%d:%d BC_ENTER_LOOPER\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3594  				     proc->pid, thread->pid);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3595  			if (thread->looper & BINDER_LOOPER_STATE_REGISTERED) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3596  				thread->looper |= BINDER_LOOPER_STATE_INVALID;
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3597  				binder_user_error("%d:%d ERROR: BC_ENTER_LOOPER called after BC_REGISTER_LOOPER\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3598  					proc->pid, thread->pid);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3599  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3600  			thread->looper |= BINDER_LOOPER_STATE_ENTERED;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3601  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3602  		case BC_EXIT_LOOPER:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3603  			binder_debug(BINDER_DEBUG_THREADS,
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3604  				     "%d:%d BC_EXIT_LOOPER\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3605  				     proc->pid, thread->pid);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3606  			thread->looper |= BINDER_LOOPER_STATE_EXITED;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3607  			break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3608  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3609  		case BC_REQUEST_DEATH_NOTIFICATION:
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3610  		case BC_CLEAR_DEATH_NOTIFICATION: {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3611  			uint32_t target;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3612  			binder_uintptr_t cookie;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3613  			struct binder_ref *ref;
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3614  			struct binder_ref_death *death = NULL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3615  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3616  			if (get_user(target, (uint32_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3617  				return -EFAULT;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3618  			ptr += sizeof(uint32_t);
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3619  			if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3620  				return -EFAULT;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3621  			ptr += sizeof(binder_uintptr_t);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3622  			if (cmd == BC_REQUEST_DEATH_NOTIFICATION) {
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3623  				/*
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3624  				 * Allocate memory for death notification
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3625  				 * before taking lock
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3626  				 */
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3627  				death = kzalloc(sizeof(*death), GFP_KERNEL);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3628  				if (death == NULL) {
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3629  					WARN_ON(thread->return_error.cmd !=
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3630  						BR_OK);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3631  					thread->return_error.cmd = BR_ERROR;
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3632  					binder_enqueue_thread_work(
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3633  						thread,
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3634  						&thread->return_error.work);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3635  					binder_debug(
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3636  						BINDER_DEBUG_FAILED_TRANSACTION,
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3637  						"%d:%d BC_REQUEST_DEATH_NOTIFICATION failed\n",
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3638  						proc->pid, thread->pid);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3639  					break;
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3640  				}
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3641  			}
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3642  			binder_proc_lock(proc);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3643  			ref = binder_get_ref_olocked(proc, target, false);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3644  			if (ref == NULL) {
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3645  				binder_user_error("%d:%d %s invalid ref %d\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3646  					proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3647  					cmd == BC_REQUEST_DEATH_NOTIFICATION ?
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3648  					"BC_REQUEST_DEATH_NOTIFICATION" :
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3649  					"BC_CLEAR_DEATH_NOTIFICATION",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3650  					target);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3651  				binder_proc_unlock(proc);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3652  				kfree(death);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3653  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3654  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3655  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3656  			binder_debug(BINDER_DEBUG_DEATH_NOTIFICATION,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3657  				     "%d:%d %s %016llx ref %d desc %d s %d w %d for node %d\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3658  				     proc->pid, thread->pid,
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3659  				     cmd == BC_REQUEST_DEATH_NOTIFICATION ?
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3660  				     "BC_REQUEST_DEATH_NOTIFICATION" :
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3661  				     "BC_CLEAR_DEATH_NOTIFICATION",
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3662  				     (u64)cookie, ref->data.debug_id,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3663  				     ref->data.desc, ref->data.strong,
372e3147df7016e drivers/android/binder.c         Todd Kjos              2017-06-29  3664  				     ref->data.weak, ref->node->debug_id);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3665  
ab51ec6bdf0b7af drivers/android/binder.c         Martijn Coenen         2017-06-29  3666  			binder_node_lock(ref->node);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3667  			if (cmd == BC_REQUEST_DEATH_NOTIFICATION) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3668  				if (ref->death) {
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3669  					binder_user_error("%d:%d BC_REQUEST_DEATH_NOTIFICATION death notification already set\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3670  						proc->pid, thread->pid);
ab51ec6bdf0b7af drivers/android/binder.c         Martijn Coenen         2017-06-29  3671  					binder_node_unlock(ref->node);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3672  					binder_proc_unlock(proc);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3673  					kfree(death);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3674  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3675  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3676  				binder_stats_created(BINDER_STAT_DEATH);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3677  				INIT_LIST_HEAD(&death->work.entry);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3678  				death->cookie = cookie;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3679  				ref->death = death;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3680  				if (ref->node->proc == NULL) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3681  					ref->death->work.type = BINDER_WORK_DEAD_BINDER;
bb74562a7f83982 drivers/android/binder.c         Martijn Coenen         2017-08-31  3682  
1b77e9dcc3da935 drivers/android/binder.c         Martijn Coenen         2017-08-31  3683  					binder_inner_proc_lock(proc);
1b77e9dcc3da935 drivers/android/binder.c         Martijn Coenen         2017-08-31  3684  					binder_enqueue_work_ilocked(
bb74562a7f83982 drivers/android/binder.c         Martijn Coenen         2017-08-31  3685  						&ref->death->work, &proc->todo);
bb74562a7f83982 drivers/android/binder.c         Martijn Coenen         2017-08-31  3686  					binder_wakeup_proc_ilocked(proc);
1b77e9dcc3da935 drivers/android/binder.c         Martijn Coenen         2017-08-31  3687  					binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3688  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3689  			} else {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3690  				if (ref->death == NULL) {
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3691  					binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification not active\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3692  						proc->pid, thread->pid);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3693  					binder_node_unlock(ref->node);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3694  					binder_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3695  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3696  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3697  				death = ref->death;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3698  				if (death->cookie != cookie) {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3699  					binder_user_error("%d:%d BC_CLEAR_DEATH_NOTIFICATION death notification cookie mismatch %016llx != %016llx\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3700  						proc->pid, thread->pid,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3701  						(u64)death->cookie,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3702  						(u64)cookie);
673068eee8560d5 drivers/android/binder.c         Todd Kjos              2017-06-29  3703  					binder_node_unlock(ref->node);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3704  					binder_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3705  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3706  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3707  				ref->death = NULL;
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3708  				binder_inner_proc_lock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3709  				if (list_empty(&death->work.entry)) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3710  					death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3711  					if (thread->looper &
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3712  					    (BINDER_LOOPER_STATE_REGISTERED |
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3713  					     BINDER_LOOPER_STATE_ENTERED))
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3714  						binder_enqueue_thread_work_ilocked(
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3715  								thread,
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3716  								&death->work);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3717  					else {
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3718  						binder_enqueue_work_ilocked(
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3719  								&death->work,
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3720  								&proc->todo);
1b77e9dcc3da935 drivers/android/binder.c         Martijn Coenen         2017-08-31  3721  						binder_wakeup_proc_ilocked(
408c68b17aea2f2 drivers/android/binder.c         Martijn Coenen         2017-08-31  3722  								proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3723  					}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3724  				} else {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3725  					BUG_ON(death->work.type != BINDER_WORK_DEAD_BINDER);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3726  					death->work.type = BINDER_WORK_DEAD_BINDER_AND_CLEAR;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3727  				}
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3728  				binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3729  			}
ab51ec6bdf0b7af drivers/android/binder.c         Martijn Coenen         2017-06-29  3730  			binder_node_unlock(ref->node);
2c1838dc6817dd2 drivers/android/binder.c         Todd Kjos              2017-06-29  3731  			binder_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3732  		} break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3733  		case BC_DEAD_BINDER_DONE: {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3734  			struct binder_work *w;
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3735  			binder_uintptr_t cookie;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3736  			struct binder_ref_death *death = NULL;
10f62861b4a2f22 drivers/staging/android/binder.c Seunghun Lee           2014-05-01  3737  
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3738  			if (get_user(cookie, (binder_uintptr_t __user *)ptr))
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3739  				return -EFAULT;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3740  
7a64cd887fdb97f drivers/android/binder.c         Lisa Du                2016-02-17  3741  			ptr += sizeof(cookie);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3742  			binder_inner_proc_lock(proc);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3743  			list_for_each_entry(w, &proc->delivered_death,
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3744  					    entry) {
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3745  				struct binder_ref_death *tmp_death =
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3746  					container_of(w,
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3747  						     struct binder_ref_death,
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3748  						     work);
10f62861b4a2f22 drivers/staging/android/binder.c Seunghun Lee           2014-05-01  3749  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3750  				if (tmp_death->cookie == cookie) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3751  					death = tmp_death;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3752  					break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3753  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3754  			}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3755  			binder_debug(BINDER_DEBUG_DEAD_BINDER,
8ca86f1639ec589 drivers/android/binder.c         Todd Kjos              2018-02-07  3756  				     "%d:%d BC_DEAD_BINDER_DONE %016llx found %pK\n",
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3757  				     proc->pid, thread->pid, (u64)cookie,
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3758  				     death);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3759  			if (death == NULL) {
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3760  				binder_user_error("%d:%d BC_DEAD_BINDER_DONE %016llx not found\n",
da49889deb34d35 drivers/staging/android/binder.c Arve Hjønnevåg         2014-02-21  3761  					proc->pid, thread->pid, (u64)cookie);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3762  				binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3763  				break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3764  			}
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3765  			binder_dequeue_work_ilocked(&death->work);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3766  			if (death->work.type == BINDER_WORK_DEAD_BINDER_AND_CLEAR) {
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3767  				death->work.type = BINDER_WORK_CLEAR_DEATH_NOTIFICATION;
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3768  				if (thread->looper &
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3769  					(BINDER_LOOPER_STATE_REGISTERED |
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3770  					 BINDER_LOOPER_STATE_ENTERED))
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3771  					binder_enqueue_thread_work_ilocked(
148ade2c4d4f46b drivers/android/binder.c         Martijn Coenen         2017-11-15  3772  						thread, &death->work);
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3773  				else {
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3774  					binder_enqueue_work_ilocked(
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3775  							&death->work,
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3776  							&proc->todo);
408c68b17aea2f2 drivers/android/binder.c         Martijn Coenen         2017-08-31  3777  					binder_wakeup_proc_ilocked(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3778  				}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3779  			}
72196393a5e3d28 drivers/android/binder.c         Todd Kjos              2017-06-29  3780  			binder_inner_proc_unlock(proc);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3781  		} break;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3782  
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3783  		default:
56b468fc709b2b9 drivers/staging/android/binder.c Anmol Sarma            2012-10-30  3784  			pr_err("%d:%d unknown command %d\n",
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3785  			       proc->pid, thread->pid, cmd);
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3786  			return -EINVAL;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3787  		}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3788  		*consumed = ptr - buffer;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3789  	}
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3790  	return 0;
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3791  }
355b0502f6efea0 drivers/staging/android/binder.c Greg Kroah-Hartman     2011-11-30  3792  

:::::: The code at line 3492 was first introduced by commit
:::::: 355b0502f6efea0ff9492753888772c96972d2a3 Revert "Staging: android: delete android drivers"

:::::: TO: Greg Kroah-Hartman <gregkh@suse.de>
:::::: CC: Greg Kroah-Hartman <gregkh@suse.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26529 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-15 21:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-15 21:00 [linux-stable-rc:linux-4.19.y 4411/9999] drivers/android/binder.c:3492: Error: unrecognized keyword/register name `l.lwz kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.