From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FC7DC43331 for ; Fri, 27 Mar 2020 03:55:53 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C00CB206F6 for ; Fri, 27 Mar 2020 03:55:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C00CB206F6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 48pSgp4TjnzDqM3 for ; Fri, 27 Mar 2020 14:55:50 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=mahesh@linux.ibm.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 48pSbT5qjczDr5V for ; Fri, 27 Mar 2020 14:52:05 +1100 (AEDT) Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 02R3XdUO024796 for ; Thu, 26 Mar 2020 23:52:03 -0400 Received: from e06smtp01.uk.ibm.com (e06smtp01.uk.ibm.com [195.75.94.97]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ywd8ggf4b-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 26 Mar 2020 23:52:03 -0400 Received: from localhost by e06smtp01.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 27 Mar 2020 03:51:55 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp01.uk.ibm.com (192.168.101.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Fri, 27 Mar 2020 03:51:53 -0000 Received: from d06av23.portsmouth.uk.ibm.com (d06av23.portsmouth.uk.ibm.com [9.149.105.59]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 02R3pwqj43712592 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 27 Mar 2020 03:51:58 GMT Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BF214A4057; Fri, 27 Mar 2020 03:51:58 +0000 (GMT) Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D3940A404D; Fri, 27 Mar 2020 03:51:57 +0000 (GMT) Received: from in.ibm.com (unknown [9.79.178.41]) by d06av23.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Fri, 27 Mar 2020 03:51:57 +0000 (GMT) Date: Fri, 27 Mar 2020 09:21:55 +0530 From: Mahesh J Salgaonkar To: Nicholas Piggin Subject: Re: [PATCH v2 05/12] powerpc/pseries/ras: FWNMI_VALID off by one References: <20200325103410.157573-1-npiggin@gmail.com> <20200325103410.157573-6-npiggin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200325103410.157573-6-npiggin@gmail.com> X-TM-AS-GCONF: 00 x-cbid: 20032703-4275-0000-0000-000003B422EF X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 20032703-4276-0000-0000-000038C968E9 Message-Id: <20200327035155.xslsqcziz5tidsku@in.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.645 definitions=2020-03-26_14:2020-03-26, 2020-03-26 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 suspectscore=1 malwarescore=0 mlxlogscore=946 spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 impostorscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003270030 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: mahesh@linux.ibm.com Cc: Mahesh Salgaonkar , Ganesh Goudar , linuxppc-dev@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On 2020-03-25 20:34:03 Wed, Nicholas Piggin wrote: > This was discovered developing qemu fwnmi sreset support. This > off-by-one bug means the last 16 bytes of the rtas area can not > be used for a 16 byte save area. > > It's not a serious bug, and QEMU implementation has to retain a > workaround for old kernels, but it's good to tighten it. > > Signed-off-by: Nicholas Piggin > --- > arch/powerpc/platforms/pseries/ras.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c > index c74d5e740922..9a37bda47468 100644 > --- a/arch/powerpc/platforms/pseries/ras.c > +++ b/arch/powerpc/platforms/pseries/ras.c > @@ -395,10 +395,11 @@ static irqreturn_t ras_error_interrupt(int irq, void *dev_id) > /* > * Some versions of FWNMI place the buffer inside the 4kB page starting at > * 0x7000. Other versions place it inside the rtas buffer. We check both. > + * Minimum size of the buffer is 16 bytes. Acked-by: Mahesh Salgaonkar Thanks, -Mahesh. > */ > #define VALID_FWNMI_BUFFER(A) \ > - ((((A) >= 0x7000) && ((A) < 0x7ff0)) || \ > - (((A) >= rtas.base) && ((A) < (rtas.base + rtas.size - 16)))) > + ((((A) >= 0x7000) && ((A) <= 0x8000 - 16)) || \ > + (((A) >= rtas.base) && ((A) <= (rtas.base + rtas.size - 16)))) > > static inline struct rtas_error_log *fwnmi_get_errlog(void) > { > -- > 2.23.0 > -- Mahesh J Salgaonkar