From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed2-f34.google.com (mail-ed2-f34.google.com [74.125.228.98]) (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 7799240F744 for ; Thu, 24 Sep 2026 16:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.98 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790267204; cv=none; b=pwR6vCcs8czVJ2dEq8yU0Gjjo6Ri/f8/rVwOz8rGsjgynyBGsvlM131HwOPYHgaIqvC53DUNC6YDZdCEEvo0oNyOY+MtoAHIbMsZHrc6+u7Oa4wxJy0GvSdTtL6iDcWOqrtEixz8hXhIyLXvbdG9nvagRSRVF8sKY9Gr2qU6nLA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790267204; c=relaxed/simple; bh=0hae1Dy1qPgAAn48he+OQyElqT4viRMRexAgzDHsvDg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YWsE759+6NMyaddhnqmb01JIbuG7TdtWFvCunSn+H9dd5he7cRJIs5QaTQvDFP5nuN6GM//l7HBUOEVlvkBgS8Mi+2iAciDr49geofauOtOO08PCgJKO/g4jO7VrW40nEFv5f6dwFWTXf/I7hGzzBwrpk01PW4osqsw04ygYw/o= 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=lUNpWuLt; arc=none smtp.client-ip=74.125.228.98 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="lUNpWuLt" Received: by mail-ed2-f34.google.com with SMTP id 4fb4d7f45d1cf-6aae359e2c0so41862a12.3 for ; Thu, 24 Sep 2026 09:26:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790267201; x=1790872001; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=xceFEZdQPKnCO9ajfrPlU5eXhjLvd87vwHrqSGkOcL8=; b=lUNpWuLtg2h7Je+6HVFTFtJDgGMYRP1OtbqME9c28nBuJBOjzbIqWGwZsOmKkOO9iK ttwsNCu6L0lVC8IoNV95zPQyHZ9gZi+rT294W5TWQ2xcSho/eKfMb4tPMfwaTV4DY2D4 QHAWrdOGIbjSEwA3Mq3hWKK2q/S+60iHk8ebInNqfhX1aaqgHOH1KOs8wISEz9tc8gel 6u2m8NQdfNx/tpdNfN66plk0/RBCW0ltOpc2WTkEusbjLfPCvZg9tUysfemDO68dcrIJ cT69yydVc49z0DZwf8OSpEOjMiFpr3q8yWyyZ1c9c0zCQBGmj/DGpKoLTzAWpZwz4A99 yYCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790267201; x=1790872001; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xceFEZdQPKnCO9ajfrPlU5eXhjLvd87vwHrqSGkOcL8=; b=UUUW61y9JMBqFGDbGyRPjUdVPV69dkGVJ+o3oG3xp4EgMRQYm5//dq2sIxO9rzcoJm v/BMBSB6knplNcrNU0qCZOxaVSi7BCoOz4xsPYzM1pGdaNzTBfTU+aJL1JsdhFx+AJOy JyvtbbJl6WiRRSltb+WsEQFikR7WHqs6+7p5anEaD+dwhmdVCX7F1F0nr8RbDZHSevEp YrwjtVnPwV0amrxb/Gt+Oaev3ovmWUjNxKG7rGoqN9F9zf4kXWJ8Dq3xOEU9/vCc//Q4 HTUyDX623kjAT3+LhyD9h6IWofdD9By97Mw4OrfN/ChR4O/bNso/+8n5TyM6GLYcHMPU lSvw== X-Forwarded-Encrypted: i=1; AKwUvBwYvUn+BCY2rNgtY3LYfZMd5XBdujDjCbbLqOu8XKfr5uywYYUxy+KgeflPU27j78cdvUnfWQaDP5948lI=@vger.kernel.org X-Gm-Message-State: AFuF++mhCKCVQAVVYxOYYPIM3qDwhATiLOIYus+F3idM/d05GD7pK9WR tY+6pq9zsXVUOTKqGZlEx5Dwvcof6kG/GGdoQnITCt8SN4V9hgpGbQarDmCa8VH0 X-Gm-Gg: AYBFou0/4icrnXNT7+aOgoYuHbRZcBLW8w630K18X0sX2+5XHCeRhQXR46z59FFxQ5d H2ilrYebCEmG/Y14EAorA4BqEvHIS8+w6egFzK+KUOt44jxPxp/1qSSxwELUBt1Z2uN5QULKi21 sCnblxSm5HofpPjdIBeW14LhjCU2ttw2jkMqajjZO5P/CpVsizwJNlY8HslhNA61b7QIelqntC/ T8YddkTpSdtw0EefLieqJnLvkhfjJtVzZzrma525kr25Mjwwtbb/NCJpUG3oMNDFkTqCWA6lxzA 8FU/3fQcrCREsu2Uot0MZHSKM25wiBdMKmiPXJgnA4vsxeYHgzF3VVIKBxTOv2HO8ih/PFyE1dj kFlsGtY5OsmOFFSo/tHiP5rZ4Ucb8FFWpT+Sf2nCaQtA16A0BKNzl8h8JgxQvuW9RRDKRhuloqv qXbc/KKYpf7AgjU6i/8whxBtApnvYyRyCKnFvyjbXU/TPtsjyIhibKfLE+x45liDTt8qXcscwfo SuqFAuT4QxkiNSA X-Received: by 2002:a05:6402:518d:b0:6aa:b226:e69a with SMTP id 4fb4d7f45d1cf-6aac9106dfbmr2938246a12.36.1790267200508; Thu, 24 Sep 2026 09:26:40 -0700 (PDT) Received: from localhost.localdomain ([94.240.182.136]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6aab386e7c8sm3932223a12.5.2026.09.24.09.26.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Sep 2026 09:26:40 -0700 (PDT) From: Svyatoslav Nikolenko To: song@kernel.org, yukuai@fygo.io Cc: magiclinan@didiglobal.com, xiao@kernel.org, linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, Svyatoslav Nikolenko , syzbot+75d7e96ad03ac2dbbd9f@syzkaller.appspotmail.com Subject: [PATCH] md/raid5-ppl: check for NULL ppl_conf in ppl_write_stripe_run() Date: Thu, 24 Sep 2026 19:26:10 +0300 Message-ID: <20260924162610.10056-1-nsvatoslav515@gmail.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Syzbot reported a general protection fault due to a NULL pointer dereference in ppl_write_stripe_run(). When a RAID 5 array operates without Partial Parity Log (PPL) enabled or before its initialization, conf->log_private remains NULL. ppl_write_stripe_run() assigns ppl_conf = conf->log_private and immediately attempts to access ppl_conf->count in the loop header. This triggers a NULL pointer dereference. Fix this by returning early from ppl_write_stripe_run() if ppl_conf is NULL. Tested-by: syzbot+75d7e96ad03ac2dbbd9f@syzkaller.appspotmail.com Reported-by: syzbot+75d7e96ad03ac2dbbd9f@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=75d7e96ad03ac2dbbd9f Fixes: 3418d036c81d ("raid5-ppl: Partial Parity Log write logging implementation") Signed-off-by: Svyatoslav Nikolenko --- drivers/md/raid5-ppl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/md/raid5-ppl.c b/drivers/md/raid5-ppl.c index 7f8a9d3fd578..e54ed4e44b0f 100644 --- a/drivers/md/raid5-ppl.c +++ b/drivers/md/raid5-ppl.c @@ -535,6 +535,9 @@ void ppl_write_stripe_run(struct r5conf *conf) struct ppl_log *log; int i; + if (!ppl_conf) + return; + for (i = 0; i < ppl_conf->count; i++) { log = &ppl_conf->child_logs[i]; -- 2.47.3