From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from r3-19.sinamail.sina.com.cn (r3-19.sinamail.sina.com.cn [202.108.3.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0195129D288 for ; Wed, 18 Mar 2026 03:11:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.108.3.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773803481; cv=none; b=j586KsIjh5p7XWYgYfIs1AK+Q2wtSeb4yCSpX0GnLuXLRNsZK6xdRlDXf5u9C/MsZLfxSeAnHw+LG/ajKqHBU4Eq17wnuixJXPSlRqmQ4j2//WBe58XNpOqemxmZ3drfKubKm72xTb7WWV785FZEZUliZC/RlXyp0yzApvZu5nQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773803481; c=relaxed/simple; bh=UBHCYkBlpljIRokdXm/lMxFNbh7/+PHqBzBQLoXsmqA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kda+hIgabuaLfOfY/YubNBu/nP424hOtjzEZAonC9m6VRQzb+jqcXnodnaLPPTaMYu+Vw9OsJVUaLrMXffYZWzV6yyDhTzVz/IooItzzL2OSVLSOYLHJFFfZ8AUXomrF6kEaFQa821vKfOFIhJRgnpn+uGMKyl1zF97fAT6taJg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.com; spf=pass smtp.mailfrom=sina.com; dkim=pass (1024-bit key) header.d=sina.com header.i=@sina.com header.b=OvIZk8Ma; arc=none smtp.client-ip=202.108.3.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sina.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=sina.com header.i=@sina.com header.b="OvIZk8Ma" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sina.com; s=201208; t=1773803477; bh=2r7G0353tJQaJmgPapVfInKHuJA+VjMDp5UsXCYdkzg=; h=From:Subject:Date:Message-ID; b=OvIZk8MaqH/ZZC9LzXkFQ8yD/DPFnZTZ8K3omh+OXk0bTAUHoXHqA8gwTDjvZCNIp mmzMMRZ5a3/deVUw6gt+Zqi8rleMOdaqkelLWQehBexj8lUU84p+eNWgZp13hTyHv/ IcN0HmrHi09WwyuNaROwzDXJmGskwcCww0uMFQhU= X-SMAIL-HELO: localhost.localdomain Received: from unknown (HELO localhost.localdomain)([114.249.62.144]) by sina.com (10.54.253.32) with ESMTP id 69BA173B00001CC4; Wed, 18 Mar 2026 11:08:44 +0800 (CST) X-Sender: hdanton@sina.com X-Auth-ID: hdanton@sina.com Authentication-Results: sina.com; spf=none smtp.mailfrom=hdanton@sina.com; dkim=none header.i=none; dmarc=none action=none header.from=hdanton@sina.com X-SMAIL-MID: 7280964456943 X-SMAIL-UIID: A41EA5732671427B9D91C9BDF0A9540B-20260318-110844-1 From: Hillf Danton To: syzbot Cc: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Subject: Re: [syzbot] [mm?] [fs?] general protection fault in rwsem_mark_wake Date: Wed, 18 Mar 2026 11:08:35 +0800 Message-ID: <20260318030836.1049-1-hdanton@sina.com> In-Reply-To: <69b99065.050a0220.248e02.012f.GAE@google.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit > Date: Tue, 17 Mar 2026 10:33:25 -0700 [thread overview] > Hello, > > syzbot found the following issue on: > > HEAD commit: b84a0ebe421c Add linux-next specific files for 20260313 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=159fdd52580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=e7280ad1f68b2dce > dashboard link: https://syzkaller.appspot.com/bug?extid=334054c6077f3a88ab3a > compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15ee4216580000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12b478da580000 #syz test --- x/kernel/locking/rwsem.c +++ y/kernel/locking/rwsem.c @@ -365,12 +365,11 @@ enum rwsem_wake_type { #define MAX_READERS_WAKEUP 0x100 static inline -bool __rwsem_del_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) +void __rwsem_del_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) __must_hold(&sem->wait_lock) { if (list_empty(&waiter->list)) { sem->first_waiter = NULL; - return true; } if (sem->first_waiter == waiter) { @@ -378,8 +377,6 @@ bool __rwsem_del_waiter(struct rw_semaph struct rwsem_waiter, list); } list_del(&waiter->list); - - return false; } /* @@ -394,7 +391,8 @@ static inline bool rwsem_del_waiter(struct rw_semaphore *sem, struct rwsem_waiter *waiter) { lockdep_assert_held(&sem->wait_lock); - if (__rwsem_del_waiter(sem, waiter)) + __rwsem_del_waiter(sem, waiter); + if (rwsem_is_contended(sem)) return true; atomic_long_andnot(RWSEM_FLAG_HANDOFF | RWSEM_FLAG_WAITERS, &sem->count); return false; --