[{"id":3644721,"web_url":"http://patchwork.ozlabs.org/comment/3644721/","msgid":"<emoxxh6xn5mm5dl2ra5vz2g7t553z4kxricolekz6umiwcu5ys@ogxvdjfq66u3>","list_archive_url":null,"date":"2026-02-02T16:41:39","subject":"Re: [PATCH 2/3] ext4: use READ_ONCE for lockless jinode reads","submitter":{"id":363,"url":"http://patchwork.ozlabs.org/api/people/363/","name":"Jan Kara","email":"jack@suse.cz"},"content":"On Fri 30-01-26 11:12:31, Li Chen wrote:\n> ext4 journal commit callbacks access jbd2_inode fields such as\n> i_transaction and i_dirty_start/end without holding journal->j_list_lock.\n> \n> Use READ_ONCE() for these reads to correct the concurrency assumptions.\n> \n> Suggested-by: Jan Kara <jack@suse.com>\n> Signed-off-by: Li Chen <me@linux.beauty>\n\nLooks good. Feel free to add:\n\nReviewed-by: Jan Kara <jack@suse.cz>\n\n\t\t\t\t\t\t\t\tHonza\n\n> ---\n>  fs/ext4/inode.c |  6 ++++--\n>  fs/ext4/super.c | 13 ++++++++-----\n>  2 files changed, 12 insertions(+), 7 deletions(-)\n> \n> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c\n> index d99296d7315f..2d451388e080 100644\n> --- a/fs/ext4/inode.c\n> +++ b/fs/ext4/inode.c\n> @@ -3033,11 +3033,13 @@ static int ext4_writepages(struct address_space *mapping,\n>  \n>  int ext4_normal_submit_inode_data_buffers(struct jbd2_inode *jinode)\n>  {\n> +\tloff_t dirty_start = READ_ONCE(jinode->i_dirty_start);\n> +\tloff_t dirty_end = READ_ONCE(jinode->i_dirty_end);\n>  \tstruct writeback_control wbc = {\n>  \t\t.sync_mode = WB_SYNC_ALL,\n>  \t\t.nr_to_write = LONG_MAX,\n> -\t\t.range_start = jinode->i_dirty_start,\n> -\t\t.range_end = jinode->i_dirty_end,\n> +\t\t.range_start = dirty_start,\n> +\t\t.range_end = dirty_end,\n>  \t};\n>  \tstruct mpage_da_data mpd = {\n>  \t\t.inode = jinode->i_vfs_inode,\n> diff --git a/fs/ext4/super.c b/fs/ext4/super.c\n> index 5cf6c2b54bbb..acb2bc016fd4 100644\n> --- a/fs/ext4/super.c\n> +++ b/fs/ext4/super.c\n> @@ -521,6 +521,7 @@ static bool ext4_journalled_writepage_needs_redirty(struct jbd2_inode *jinode,\n>  {\n>  \tstruct buffer_head *bh, *head;\n>  \tstruct journal_head *jh;\n> +\ttransaction_t *trans = READ_ONCE(jinode->i_transaction);\n>  \n>  \tbh = head = folio_buffers(folio);\n>  \tdo {\n> @@ -539,7 +540,7 @@ static bool ext4_journalled_writepage_needs_redirty(struct jbd2_inode *jinode,\n>  \t\t */\n>  \t\tjh = bh2jh(bh);\n>  \t\tif (buffer_dirty(bh) ||\n> -\t\t    (jh && (jh->b_transaction != jinode->i_transaction ||\n> +\t\t    (jh && (jh->b_transaction != trans ||\n>  \t\t\t    jh->b_next_transaction)))\n>  \t\t\treturn true;\n>  \t} while ((bh = bh->b_this_page) != head);\n> @@ -550,12 +551,14 @@ static bool ext4_journalled_writepage_needs_redirty(struct jbd2_inode *jinode,\n>  static int ext4_journalled_submit_inode_data_buffers(struct jbd2_inode *jinode)\n>  {\n>  \tstruct address_space *mapping = jinode->i_vfs_inode->i_mapping;\n> +\tloff_t dirty_start = READ_ONCE(jinode->i_dirty_start);\n> +\tloff_t dirty_end = READ_ONCE(jinode->i_dirty_end);\n>  \tstruct writeback_control wbc = {\n> -\t\t.sync_mode =  WB_SYNC_ALL,\n> +\t\t.sync_mode = WB_SYNC_ALL,\n>  \t\t.nr_to_write = LONG_MAX,\n> -\t\t.range_start = jinode->i_dirty_start,\n> -\t\t.range_end = jinode->i_dirty_end,\n> -        };\n> +\t\t.range_start = dirty_start,\n> +\t\t.range_end = dirty_end,\n> +\t};\n>  \tstruct folio *folio = NULL;\n>  \tint error;\n>  \n> -- \n> 2.52.0","headers":{"Return-Path":"\n <SRS0=faza=AG=vger.kernel.org=linux-ext4+bounces-13466-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=153kQ41j;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=153kQ41j;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=faza=ag=vger.kernel.org=linux-ext4+bounces-13466-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.234.253.10 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz","gandalf.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=153kQ41j;\n\tdkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=153kQ41j;\n\tdkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-13466-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"153kQ41j\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"sZ71oRd1\";\n\tdkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"153kQ41j\";\n\tdkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=\"sZ71oRd1\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=195.135.223.131","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=suse.cz","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=suse.cz","smtp-out2.suse.de;\n\tdkim=pass header.d=suse.cz header.s=susede2_rsa header.b=153kQ41j;\n\tdkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=sZ71oRd1"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f4Xc20WPMz1xpg\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 03 Feb 2026 03:48:02 +1100 (AEDT)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4f4Xc203mbz4vyg\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 03 Feb 2026 03:48:02 +1100 (AEDT)","by gandalf.ozlabs.org (Postfix)\n\tid 4f4Xc174qnz4wMW; Tue, 03 Feb 2026 03:48:01 +1100 (AEDT)","from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4f4Xby4Gkqz4vyg\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 03 Feb 2026 03:47:58 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id F3A443019928\n\tfor <patchwork-incoming@ozlabs.org>; Mon,  2 Feb 2026 16:41:43 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id EA04837F0FB;\n\tMon,  2 Feb 2026 16:41:42 +0000 (UTC)","from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 52C7A37E306\n\tfor <linux-ext4@vger.kernel.org>; Mon,  2 Feb 2026 16:41:41 +0000 (UTC)","from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org\n [IPv6:2a07:de40:b281:104:10:150:64:97])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby smtp-out2.suse.de (Postfix) with ESMTPS id 819F65BD2A;\n\tMon,  2 Feb 2026 16:41:39 +0000 (UTC)","from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6E68C3EA62;\n\tMon,  2 Feb 2026 16:41:39 +0000 (UTC)","from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n\tby imap1.dmz-prg2.suse.org with ESMTPSA\n\tid ZqfzGsPTgGllKQAAD6G6ig\n\t(envelope-from <jack@suse.cz>); Mon, 02 Feb 2026 16:41:39 +0000","by quack3.suse.cz (Postfix, from userid 1000)\n\tid 37A70A08F8; Mon,  2 Feb 2026 17:41:39 +0100 (CET)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1770050881; cv=pass;\n\tb=bnVRtW0l0kaZygcluVwirXa8VdfZ6cCkcleqMt1E1OC7n2nFaM69SOi2VIiaB1QeZg+LVuxOw9zbyyogvQ22TbSHrGP79pthO9ROKDP8F+u2tuBU3h4G7I7+Vo5uwJQobZYVF0w5M4IHXxGcGCg8JDOSW8xSt85iFQVU4FCbgMPh349/3MB7QE7MUh57EqwfPqQPjKyqLbV/vcQ1mfDZMwwBROrT1Scr+npO10c8BFpvL338sdeGtWZ3f/jD37nW+v7BWJ5To9O6ActNvLLEPjLI2WsYnCgFz3fOACj8NkZ4EgXl+eSNzkQdVAEcpbcCoWTde63PVEJyKt97JEc55w==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770050502; cv=none;\n b=NE1eDFLTrHN7Bk9n2RIfrg1YOW7DhgkOo++K2wPib7Z2oBplEQCtTPcHbpravU1Ho352YOEvY1CvzZnnfhZ5yn5NcqlxkOr6PNPChUhGpryPgZxZeBwxD9szYVFsZtUP+4gqyFFVV+OLASXFNc4pU7zRMhy5mMEQQ0BMzwaCQ7Y="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1770050881; c=relaxed/relaxed;\n\tbh=B6OCSTr1X7K4gTzXIhUGdQfQFBQrVU/POk98Hv4PCbU=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=Zkoe01UkhkFbU9Vp3e03R5Xe0/dhauUFAPKh88pqZPyb72IQOFdJ2EHRfdbWNYQvMDvtOfqLfyc0NPVjDNGrxH0T5GDuXg4NdIRdKI2b/hNU/ZLsMAZI72sbvnMOhpnzZfoTjh0ts85o8rDhmrdrKHCc3wQOI1gqHXPjEFJBk2U0KE3hKrwHiJxDD5wj5gmvZg4HhtQ9tQ9XGWFCDsn/TR1y7aCGxaQlL3B07/8GLN7dcYQmT6oyg8k0C3SXt5iu66veSf4kjQom4VC5s3tWDpOxZDYBGto946Uhc6rqBLAmwvNr9cmiSNtwzYceoFB4oyyi3su8Cctb697xLqvcnA==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770050502; c=relaxed/simple;\n\tbh=vnyIvt1sScwiipdrjCPX/N+y6uGqbNMEtO86CILV8HA=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=O/Xwn7lvf9h/L6I/k6WbFK2IQkrGApe1JYEExQJDyDGrXutLUV8n83Ty/YeSYfDsbnaw8ZDondBqh6lr0F8He6RZCwD4p2qWzdorm5ZvWQc88r/PgGtfehgYOuKeWsI29zvRzkxzLgol+SXH0vCuKMM7e56ZNYkpVptWkc5dPGo="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=suse.cz; dkim=pass (1024-bit key;\n unprotected) header.d=suse.cz header.i=@suse.cz header.a=rsa-sha256\n header.s=susede2_rsa header.b=153kQ41j;\n dkim=pass header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.a=rsa-sha256 header.s=susede2_rsa header.b=153kQ41j;\n dkim=neutral header.d=suse.cz header.i=@suse.cz header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=sZ71oRd1; dkim-atps=neutral;\n spf=pass (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-13466-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=suse.cz;\n spf=pass smtp.mailfrom=suse.cz;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=153kQ41j;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=sZ71oRd1;\n dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=153kQ41j;\n dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz\n header.b=sZ71oRd1; arc=none smtp.client-ip=195.135.223.131"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1770050499;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=B6OCSTr1X7K4gTzXIhUGdQfQFBQrVU/POk98Hv4PCbU=;\n\tb=153kQ41jXMrMySedvVd2a37xaGwkEuGvr9kOBIo/AaSaaGUxxvwpDmMnxq8iPr1jieZOQn\n\tSKNzoJzsV3YZoS9R95xOdzTOHgpmlb96v+DxXuEXbuF53wZqha5AfN2J1bbepICzDLwckO\n\tcQxF56biYTeZfngctq4hJfLy15iAZuE=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1770050499;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=B6OCSTr1X7K4gTzXIhUGdQfQFBQrVU/POk98Hv4PCbU=;\n\tb=sZ71oRd1HSQ6OLuc+hZ/LBFcJykmWBe3Vjwan2vJYxwmwbp/YfS6OjYreyr4dCRkYvIkG9\n\t0SPabci4GCISkBAg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz;\n s=susede2_rsa;\n\tt=1770050499;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=B6OCSTr1X7K4gTzXIhUGdQfQFBQrVU/POk98Hv4PCbU=;\n\tb=153kQ41jXMrMySedvVd2a37xaGwkEuGvr9kOBIo/AaSaaGUxxvwpDmMnxq8iPr1jieZOQn\n\tSKNzoJzsV3YZoS9R95xOdzTOHgpmlb96v+DxXuEXbuF53wZqha5AfN2J1bbepICzDLwckO\n\tcQxF56biYTeZfngctq4hJfLy15iAZuE=","v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;\n\ts=susede2_ed25519; t=1770050499;\n\th=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n\t mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=B6OCSTr1X7K4gTzXIhUGdQfQFBQrVU/POk98Hv4PCbU=;\n\tb=sZ71oRd1HSQ6OLuc+hZ/LBFcJykmWBe3Vjwan2vJYxwmwbp/YfS6OjYreyr4dCRkYvIkG9\n\t0SPabci4GCISkBAg=="],"Date":"Mon, 2 Feb 2026 17:41:39 +0100","From":"Jan Kara <jack@suse.cz>","To":"Li Chen <me@linux.beauty>","Cc":"Theodore Ts'o <tytso@mit.edu>,\n\tAndreas Dilger <adilger.kernel@dilger.ca>, linux-ext4@vger.kernel.org,\n linux-kernel@vger.kernel.org,\n\tJan Kara <jack@suse.com>","Subject":"Re: [PATCH 2/3] ext4: use READ_ONCE for lockless jinode reads","Message-ID":"<emoxxh6xn5mm5dl2ra5vz2g7t553z4kxricolekz6umiwcu5ys@ogxvdjfq66u3>","References":"<20260130031232.60780-1-me@linux.beauty>\n <20260130031232.60780-3-me@linux.beauty>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260130031232.60780-3-me@linux.beauty>","X-Spam-Score":"-4.01","X-Spamd-Result":"default: False [-4.01 / 50.00];\n\tBAYES_HAM(-3.00)[100.00%];\n\tNEURAL_HAM_LONG(-1.00)[-1.000];\n\tMID_RHS_NOT_FQDN(0.50)[];\n\tR_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];\n\tNEURAL_HAM_SHORT(-0.20)[-1.000];\n\tMIME_GOOD(-0.10)[text/plain];\n\tMX_GOOD(-0.01)[];\n\tRCVD_VIA_SMTP_AUTH(0.00)[];\n\tARC_NA(0.00)[];\n\tMIME_TRACE(0.00)[0:+];\n\tFUZZY_RATELIMITED(0.00)[rspamd.com];\n\tTO_DN_SOME(0.00)[];\n\tSPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n\tMISSING_XM_UA(0.00)[];\n\tDBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.cz:dkim,suse.cz:email,suse.com:email];\n\tRCVD_COUNT_THREE(0.00)[3];\n\tRCPT_COUNT_FIVE(0.00)[6];\n\tFROM_EQ_ENVFROM(0.00)[];\n\tFROM_HAS_DN(0.00)[];\n\tRECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];\n\tRBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n\tRCVD_TLS_LAST(0.00)[];\n\tTO_MATCH_ENVRCPT_ALL(0.00)[];\n\tDKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];\n\tDKIM_TRACE(0.00)[suse.cz:+]","X-Spam-Level":"","X-Rspamd-Action":"no action","X-Rspamd-Queue-Id":"819F65BD2A","X-Rspamd-Server":"rspamd1.dmz-prg2.suse.org","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_MISSING,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]