From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D9A7342538 for ; Tue, 25 Aug 2026 16:50:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787676611; cv=none; b=VUtPBT+3p+X0AAY/HzxFjf4Zg0Jthg+ejJLoCH/yIYnNdXeJB7i8iYSmBqh7YjAhwolgv8WWB9rpxkDCOpU79OCUJ44kij2w9QOVo2KlhUYDlbARWILia980XCwpE+RJ36MbUpEABSFQAVrSf+ZjghmXesbqtuy18Q1PWEFAVN8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787676611; c=relaxed/simple; bh=HYNXUsB2uQKx6WmfB1vyxuzhF75cv1aFTHbCNnrj5Mw=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=K/lrblh+84t6EN+NOFG1anBu9byox9bt+GZqmoRJuFt8j+rjXRrp/dndtEBWI6fclK+eF5eJZequ7aYt/TuNLEPvP/P/NXO+Syh4vzGth64sVv811vQ/v6zwMrSdZGQdZ7cAmtlCxHW0D1FJ+d88W3KtnXXV+S6JN63JxRVkvFg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CRizO/qo; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CRizO/qo" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2d6f55a7089so963425ad.3 for ; Tue, 25 Aug 2026 09:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787676610; x=1788281410; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=VTpXFws/17fqlPjv0OIN6o8pc9ZoPsosAECq7QPol2o=; b=CRizO/qo66ioR+XbGpgaoZLSLDBaTkIy6Y3j13vhftM+512MUW0FmXwjPiPR212/kD XwE0IngIOIaggy63TL1R4/m57HyhdDltnEV+JeiSeCh3TciN6Ywq+EDvr3u7HhWlg5Ue JnBwHRz51vPmGC5QD3huG9seaasIbthSGr4UKcgW+1F25zFkWNrDjrcXfbyBoXB8vri5 1vCzNuvwppYq/GJz7kF2goRoggXmiKNuPZpUnN7VPN/F6wHl5CPDRWJ0Q7Z4sD1fDlAU k6JYuxo/shI6XwrWLxqA5mI8H6uo7/ROOhRTtttCMPT7Rbr/Ft8K0LG2WZ6306sNyHuj 6ZoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787676610; x=1788281410; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VTpXFws/17fqlPjv0OIN6o8pc9ZoPsosAECq7QPol2o=; b=Ai1uNAzuESxrbVH6rnPXr+tGYZDuuIVCxxl45jGZfiaDsjhG3ZLuNAg/zGKkuUvCFO bKQR/jj8sg41Iqv5SKlmPtfK/pVOSBHOoKbmGQtToCzK31XsYAw8xG9JTs2ezThENb5U iKSe0VGsx2nujSqJbUyQq59ziZRuPfFMtpH/HCZU4SxsJIgu8PSE86Ptr7GnSA2YO2QF yAfXgXBviGfuraGaz2QvOh1PY2vDF52ZIvzwDiw1bG6Qa7n7mBFCFBp7A4KrfHbTBFF2 OZgYANR4DB5alc23eg+1TXtYDZnT9c9NoXa+9uSrF5YwHA7KG3TbrzOZF9aF+cu6ZHju A6TA== X-Forwarded-Encrypted: i=1; AHgh+RqsMSZLHnTNzkEMbb36kQtpNt652Qk268xdemnc4cKnDBKZhRzBdfNGhVdQUeXQ0nhccSHQEMwHe4b8rbA=@vger.kernel.org X-Gm-Message-State: AFuF++lg5jSoqRFJX7PTanfzSFb5OHPjdJ6u2aqlryUlOMV3oZTMZRgn w0paln8ySch2y2A10tLEJKTwsU9oBkWhVlYmzS1T3FYKQOlOMGcamz/OR01IicQiC4g= X-Gm-Gg: AR+sD10siyrYoenDAY0mKktQXGUiB5oOdhRqGtv82ABLlLWFDP3ETeRfVwmhNm3KYI5 r+V12b4XatWjlMySefyM+WegTCstjviwbZXdmpHP7hXgIWqllmM23EbMRltdwRorFwo29shSSfu mCmM+RfXHiEahvxpkbfZ2ycASZJ31ryd1vT1zs/uVV76qkTzbziHi3qISzV1OFB2DsxtVGqO7nh JPVF5h9HQ92rMdDeiyGRyNLkftifnw+Jv70YAgC5OvHktTizuQeCUh9lEtE33N96e+jYXSK0O/n AWGkNd35JVAbYtDnO4cSPP6pD5kgd7iavbBJ5NryHAUJteidtMgr3O8YvAtrykKwb/F/miGZxTN LijP97jc1rzNoIL4FYJhKelObvCSNesfOWmnWSfjBF7hCBHhIG0HwX/vCuM161VnCIEj9XolT0y utCgrtuXgOf4CJGeyhlHVPGNxJfpXi8LuJOKVu0Ps5SbTtrKev7QuP7k/tlajmdn2a3Zph X-Received: by 2002:a17:90b:390e:b0:38e:7f1b:efa with SMTP id 98e67ed59e1d1-3966d5d9a71mr854363a91.11.1787676609663; Tue, 25 Aug 2026 09:50:09 -0700 (PDT) Received: from [192.168.55.196] ([218.49.81.87]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39668a5a55esm389792a91.16.2026.08.25.09.50.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Aug 2026 09:50:09 -0700 (PDT) Message-ID: <24c0edd6-3cdc-4536-ac78-394bf785aad4@gmail.com> Date: Wed, 26 Aug 2026 01:50:06 +0900 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [BUG] srcu: false-positive WARN in cleanup_srcu_struct() after 78a38cbf6f20 To: Zqiang , rcu@vger.kernel.org Cc: paulmck@kernel.org, linux-kernel@vger.kernel.org, syzbot+d4faf7db59e11f6fd1ab@syzkaller.appspotmail.com References: <20260824105625.3725157-1-shpark061104@gmail.com> <494f3e0cdb3692bf13690f4cddd3b40098b51627@linux.dev> Content-Language: en-US From: Sunho Park In-Reply-To: <494f3e0cdb3692bf13690f4cddd3b40098b51627@linux.dev> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/25/26 21:33, Zqiang wrote: > > If srcu_barrier() be invoke before srcu_cleanup(), and after srcu_barrier() > completion, there are no concurrent srcu grace period start again (e.g. call_srcu() calls), > the timer_delete_sync() should return false, the rcu_segcblist_n_cbs() > will not be check. > > Or did I miss something? In srcu_gp_end(), delayed work timer is always armed in SRCU_SIZE_SMALL mode regardless of whether its cblist has callbacks: if (ss_state < SRCU_SIZE_WAIT_BARRIER) { srcu_schedule_cbs_sdp(per_cpu_ptr(ssp->sda, get_boot_cpu_id()), cbdelay); } else { ... } and with cbdelay=1 (the non-expedited path) srcu_schedule_cbs_sdp() arms the per-CPU delay_work timer for the next jiffy. This includes the srcu_gp_end() whose grace period makes the barrier's callbacks ready, so an armed timer is left pending when srcu_invoke_callbacks() completes the barrier. Thanks Sunho Park