lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_AF13764368E97383BA244FD768576566C205@qq.com>
Date: Wed, 21 Feb 2024 21:13:19 +0800
From: Edward Adam Davis <eadavis@...com>
To: syzbot+116b65a23bc791ae49a6@...kaller.appspotmail.com
Cc: linux-kernel@...r.kernel.org,
	syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [media?] INFO: task hung in cec_claim_log_addrs

please test hung in cec_claim_log_addrs

#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/drivers/media/cec/core/cec-adap.c b/drivers/media/cec/core/cec-adap.c
index 5741adf09a2e..21b3ff504524 100644
--- a/drivers/media/cec/core/cec-adap.c
+++ b/drivers/media/cec/core/cec-adap.c
@@ -1436,7 +1436,6 @@ static int cec_config_thread_func(void *arg)
 	int err;
 	int i, j;
 
-	mutex_lock(&adap->lock);
 	dprintk(1, "physical address: %x.%x.%x.%x, claim %d logical addresses\n",
 		cec_phys_addr_exp(adap->phys_addr), las->num_log_addrs);
 	las->log_addr_mask = 0;
@@ -1565,7 +1564,6 @@ static int cec_config_thread_func(void *arg)
 	}
 	adap->kthread_config = NULL;
 	complete(&adap->config_completion);
-	mutex_unlock(&adap->lock);
 	call_void_op(adap, configured);
 	return 0;
 
@@ -1577,7 +1575,6 @@ static int cec_config_thread_func(void *arg)
 	adap->must_reconfigure = false;
 	adap->kthread_config = NULL;
 	complete(&adap->config_completion);
-	mutex_unlock(&adap->lock);
 	return 0;
 }
 
@@ -1602,9 +1599,7 @@ static void cec_claim_log_addrs(struct cec_adapter *adap, bool block)
 		adap->kthread_config = NULL;
 		adap->is_configuring = false;
 	} else if (block) {
-		mutex_unlock(&adap->lock);
 		wait_for_completion(&adap->config_completion);
-		mutex_lock(&adap->lock);
 	}
 }
 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ