From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) (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 E28423D0901 for ; Tue, 21 Apr 2026 13:25:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776777954; cv=none; b=WBhngzvxXqG9BxnZHW3a6pWsMdx6J4DP+iIZJnFEBSVsRelmjUbkroe0W6WYw/qGwho1colYU0CDr3w5YrTonIxgR27e/0OrWfochu7MTa+D9kPpLiKzIJbTJ5SnlErKrLLCRBH1DSSNE5dJu6tUb4X81vgpYrzr7S9OVYjLYd8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776777954; c=relaxed/simple; bh=79Lh6Hza3vFj/wwIyqRM4tXF0uZ0ixWXF5FGZekCV/Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r66PkeRzkwXi94+kM4DVAOa3AgZJ0zVX2FAzvRj2TGdA5zoF6L0UP3LfDAJpeGxs/9vjxntgDbLbexi0DzkhQTzXZjizKTjTd1dBbmIl0JbPo0jmqkL7vm5B0xcrDvD/0qlDDVKp2vrfEG/azAmla6iTh1rmXUJeSGW2OEjU/r8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=minyard.net; spf=pass smtp.mailfrom=minyard.net; dkim=pass (2048-bit key) header.d=minyard.net header.i=@minyard.net header.b=XDC0u0EP; arc=none smtp.client-ip=209.85.160.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=minyard.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=minyard.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=minyard.net header.i=@minyard.net header.b="XDC0u0EP" Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-42c08cbae4cso1354996fac.2 for ; Tue, 21 Apr 2026 06:25:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=minyard.net; s=google; t=1776777952; x=1777382752; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Dn8v2QAFkXlBjIgtscUI2wvGE8UVKuLcXTXCNPkIjzQ=; b=XDC0u0EPIV5W0vVerdLRRYIjQqCkyqGbzZlXNjQ1vh/TJ/K+5TjFH7xoc0RI5CNFaX nVGBuLzMnVzICsNesSq2GZarYHcfVp4F7WbpSljZkkKBWbQr0iBDwr9YuLp5Mgj4X+e2 RTsqAYctnrza1V+yQ8SSJXu6CpKinMY6xGoPaM0s8vzxLS4JVpSnSAHjugU77Rvo7/4B 08kuVqf01Kra95/KV6jEj3ffEPWaXAIWx2MgEX7VzLTjNqHGnNT3v/9LUBuLwtHz1Nue xxK+bIazR8REsStg4FlTjpFZkRJIX/Qe2lUQt7gI9kkMjkDpaCtPB4qxAH5fp4CjLRvZ G63Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776777952; x=1777382752; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Dn8v2QAFkXlBjIgtscUI2wvGE8UVKuLcXTXCNPkIjzQ=; b=cUGe67ECecLSGo3f/amO5bOTzInwV8aq6c3xzLEEQtLow1VTg03hwrneXUiRiohn1j ugvn/XXgZiD198NVsZ9ATLnjumYdoPXV5cVKjNVNPYZkniWU35/5lODUlGe/oRM+QkY5 wjrZRbU4O6ymQYIiTTtsrFq/FAmy3DeNxdGYIM+B89AEUWWJtDZMCldXjSlwMBQv2rPj 860QNrWOcF30WP5F2a3LAUywp6oTPLMk8sVnd31WPMqg3o3JFelZ/bMurr+z0vhSpJRh 0jm8IzPPGd/1RWFcoygzxKDBAshWdaZoPbWqnsS8OkSLEf8ebzglHK+D2zi2TcduXAuM MjLw== X-Forwarded-Encrypted: i=1; AFNElJ8qg1RTwYRFB5VWpNRY3ZM3E4v/QrU81Nn2k0FDqk7Y/8b35fgg3Dbrl93VRGkVuIcTerKJphNMt/kN+SA=@vger.kernel.org X-Gm-Message-State: AOJu0YxXZPthh7CFM0OfWnRP1KZtzIYv4rk16BsP2YErlfJVa2FG2X7t B11qZQGmMgSoFXUEAQKb1M7226zMVwDKEQXOgXCezC9zM0tdJpS8cJgdTLc76isoVBk= X-Gm-Gg: AeBDietnzimhacRSGtX/ATGn1PWZ4ECVxIwrXJXdQVIRlBu48zw3zXyXlixdwJbGHX9 Tl32t21x3WII/TR6cjnXMkGfrTCJZG+TENLtzvsoXTvpXqPf4/116P1qaPlUVrpKl1P2WIv/G9l lYGr1MHeDYLUNirydOTVxLOWCmM5O3AZxHx3UmZkol7/InDPvZhyIPLEKWcJfPIky5wjhuJ0sjE h/zZa85+jkr3SXgttHsX2vuHBgNTQM1fpNZ683O2lTf62yEOgrg5XymFGoecA0yGloHGnlw2tcE duLqIMvGeCja5pUMeDRj2GHsKMJynLuSBUY/DS1QiGXypt5z4oNqyVezI1Pcf1fBA3GeLytORxA zErFWeYeTGIry6UpXSjCQV3uLUyGLpHfxNJeoP/6ljtnJ29GHJN4Tz5xZhvIpnCoBDUxd898Qp/ nVThrPS2eM/t1AxIgdNPswN1GazZJqazY7l4IydRgNP/AcOv0cEYXFwJvwUt7FKc21QOCSWqbul Jjvr3YblzSz7ANa X-Received: by 2002:a05:6870:2c91:b0:409:9a0b:b733 with SMTP id 586e51a60fabf-42abf29cc2fmr10719696fac.10.1776777951714; Tue, 21 Apr 2026 06:25:51 -0700 (PDT) Received: from localhost ([2001:470:b8f6:1b:376f:c507:59cb:4749]) by smtp.gmail.com with UTF8SMTPSA id 586e51a60fabf-42fae7ee3a5sm952278fac.7.2026.04.21.06.25.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Apr 2026 06:25:51 -0700 (PDT) From: Corey Minyard To: Matt Fleming Cc: openipmi-developer@lists.sourceforge.net, Tony Camuso , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Corey Minyard , stable@vger.kernel.org Subject: [PATCH 1/2] ipmi: Check event message buffer response for bad data Date: Tue, 21 Apr 2026 07:42:43 -0500 Message-ID: <20260421132544.2666174-2-corey@minyard.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260421132544.2666174-1-corey@minyard.net> References: <20260421132544.2666174-1-corey@minyard.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The event message buffer response data size got checked later when processing, but check it right after the response comes back. It appears some BMCs may return an empty message instead of an error when fetching events. There are apparently some new BMCs that make this error, so we need to compensate. Reported-by: Matt Fleming Closes: https://lore.kernel.org/lkml/20260415115930.3428942-1-matt@readmodwrite.com/ Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: Signed-off-by: Corey Minyard --- drivers/char/ipmi/ipmi_si_intf.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 4a9e9de4d684..08c208cc64c5 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -630,7 +630,13 @@ static void handle_transaction_done(struct smi_info *smi_info) */ msg = smi_info->curr_msg; smi_info->curr_msg = NULL; - if (msg->rsp[2] != 0) { + /* + * It appears some BMCs, with no event data, return no + * data in the message and not a 0x80 error as the + * spec says they should. Shut down processing if + * the data is not the right length. + */ + if (msg->rsp[2] != 0 || msg->rsp_size != 19) { /* Error getting event, probably done. */ msg->done(msg); -- 2.43.0