Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp664461ybh; Tue, 10 Mar 2020 06:07:27 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvPz3NBEvu6RnRNahBtZsANepJP7MbuD3T9aEbH5wFdeZNLsrBVoKLZX5yBdx9Bi+gIIKxO X-Received: by 2002:a54:478b:: with SMTP id o11mr1004681oic.146.1583845647141; Tue, 10 Mar 2020 06:07:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583845647; cv=none; d=google.com; s=arc-20160816; b=TZKkp8JQ2XFDTFegKovFP/Yx+ZIwbHVL0n6xwxCZNW6mkJHqRJVQ1efr0Hgc+ExMjt 5T9VrY5mL5MBJouo06UYOVk4gpTQr5JKym/XE09vM8NBqzujqgHUHEZ4XdyadWvy+43l mG6m8ncPDiHcNw9T0pHdqDK59R+q9UGGDQIDrlUHQmed8I5f7YxzZWGAW6hXTDloJrOO JGb3wey8Zg4Cdt9jvKH+kHumw2Bp21xPMl/E03ZWdk7i74atKzev0Lp+15GnQgdm4PkL 0XMg4QBXdrop1witJkQvyhzNb0khnCytRcm6l9otoXvfkWstcb9r65T7E98TaAPW58gE rL0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+wnOhArByy+x5Sktkv9FyQH6LKIo1ILoDGFiMyaaQoc=; b=QbVfHB3XC6SofBu5hELvkVs+xODYRNAE7i+Ujlj6nTjOM0GvEMbtbXHnhkTkqrXFIK RX7zrY0RFwCO1ejxevM+q9+OU0uYjwd2xdbe5TCaVKcssWhPoF8R6JT2AULEpuZYkjja OPA8w3nrZ1dBS3/Jh6lArZc5EYLJFFA9kFomrm/NvHnTIUoDfJVEM5UF/2dErfdigUxf nf8fBNz4BCIJ0rS8zRTbr/VN8kqLvsb7dpZlj/RpzoB5Vnxiu9/HaEcmlk1onEpe9MgO OZ4NejZpK/6J3WJUgb0p7LQglu45MrvvISlTg6gr2sBGTdbsKW1kSQrSUVnJFW+8DI44 bvpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BaQG5GG0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r129si2896038oib.123.2020.03.10.06.07.04; Tue, 10 Mar 2020 06:07:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BaQG5GG0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728422AbgCJNEF (ORCPT + 99 others); Tue, 10 Mar 2020 09:04:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:48986 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730238AbgCJNED (ORCPT ); Tue, 10 Mar 2020 09:04:03 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9FF6A2468C; Tue, 10 Mar 2020 13:04:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583845443; bh=NZ49wwYDeg2PY3gkg8I6UFOUVvSsMiuVd2jD2U2htRw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BaQG5GG0LJgWTV6tWOCIykXbHEDW43lJ/ZZ94ZWOdWW6g7RqBJ8aKLGoMUIEIJchw 6x4RmR0vtDgVPEfvKTW4sSWF6LxHgjvegu8LcG+anG/0fLm6T4eMdOA/VoQAmIRmH0 6u0dyvAyCyiOyEkf3iQBlsHuJTsg7EaVR1nROewg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sherry Sun , Borislav Petkov , James Morse , Manish Narani Subject: [PATCH 5.5 184/189] EDAC/synopsys: Do not print an error with back-to-back snprintf() calls Date: Tue, 10 Mar 2020 13:40:21 +0100 Message-Id: <20200310123658.109489967@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310123639.608886314@linuxfoundation.org> References: <20200310123639.608886314@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sherry Sun commit dfc6014e3b60713f375d0601d7549eed224c4615 upstream. handle_error() currently calls snprintf() a couple of times in succession to output the message for a CE/UE, therefore overwriting each part of the message which was formatted with the previous snprintf() call. As a result, only the part of the message from the last snprintf() call will be printed. The simplest and most effective way to fix this problem is to combine the whole string into one which to supply to a single snprintf() call. [ bp: Massage. ] Fixes: b500b4a029d57 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller") Signed-off-by: Sherry Sun Signed-off-by: Borislav Petkov Reviewed-by: James Morse Cc: Manish Narani Link: https://lkml.kernel.org/r/1582792452-32575-1-git-send-email-sherry.sun@nxp.com Signed-off-by: Greg Kroah-Hartman --- drivers/edac/synopsys_edac.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) --- a/drivers/edac/synopsys_edac.c +++ b/drivers/edac/synopsys_edac.c @@ -479,20 +479,14 @@ static void handle_error(struct mem_ctl_ pinf = &p->ceinfo; if (!priv->p_data->quirks) { snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "DDR ECC error type:%s Row %d Bank %d Col %d ", - "CE", pinf->row, pinf->bank, pinf->col); - snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "Bit Position: %d Data: 0x%08x\n", + "DDR ECC error type:%s Row %d Bank %d Col %d Bit Position: %d Data: 0x%08x", + "CE", pinf->row, pinf->bank, pinf->col, pinf->bitpos, pinf->data); } else { snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "DDR ECC error type:%s Row %d Bank %d Col %d ", - "CE", pinf->row, pinf->bank, pinf->col); - snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "BankGroup Number %d Block Number %d ", - pinf->bankgrpnr, pinf->blknr); - snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "Bit Position: %d Data: 0x%08x\n", + "DDR ECC error type:%s Row %d Bank %d Col %d BankGroup Number %d Block Number %d Bit Position: %d Data: 0x%08x", + "CE", pinf->row, pinf->bank, pinf->col, + pinf->bankgrpnr, pinf->blknr, pinf->bitpos, pinf->data); } @@ -509,10 +503,8 @@ static void handle_error(struct mem_ctl_ "UE", pinf->row, pinf->bank, pinf->col); } else { snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "DDR ECC error type :%s Row %d Bank %d Col %d ", - "UE", pinf->row, pinf->bank, pinf->col); - snprintf(priv->message, SYNPS_EDAC_MSG_SIZE, - "BankGroup Number %d Block Number %d", + "DDR ECC error type :%s Row %d Bank %d Col %d BankGroup Number %d Block Number %d", + "UE", pinf->row, pinf->bank, pinf->col, pinf->bankgrpnr, pinf->blknr); }