Received: by 10.192.165.148 with SMTP id m20csp3879251imm; Mon, 30 Apr 2018 07:56:53 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqsbdP3wSZc6HIbLdoDkFs0OLhE8kmsssbsHzXYKKZcWO93dXPm20A6kpp3HMhjGJc54k1L X-Received: by 2002:a63:6fc9:: with SMTP id k192-v6mr10408374pgc.143.1525100213535; Mon, 30 Apr 2018 07:56:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525100213; cv=none; d=google.com; s=arc-20160816; b=RSq8SrzthAlrGqLOzZB5c6y8KeOxm2MjF6EZwaUBN6cum22lPO4hs0THMD7Lr9zyN7 tcM/XZUSk1bK4PsG2rE4+h+Hp42y+7h72XLob9ijK4tLAhP4AVsjo5UBrfvXjZtzhHWY Omp/D/MnVWsGCRMuP/cmvG3D4E75L3YNObwGBOWy04k/IHA247pqlIEaZjWBvfXP8RE5 97q8xAlcjJkgt7Ade+Ag3XBJXvoxSYC49HLylEbUrzQUVQiyWCD3uGkChBdOCFQv/za3 GDU6xbxDWgibVKQEOKh8kxWKGJ5Zj5u9TgZ5jDOTeHIRWXDJ1lIDrNhMMRxQ0z3FBMXY 2RRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=Un0p1Eukz+1AlGLfbig1HwEh7qdLym2j7MsHl3FR87c=; b=Hm36WPBUPi5vw9Ehvna+lyJFXlRHSLSGeoqoqnK02pqngQVMCp2nPIhILh9KyMwQwJ lNGQzwqozI67Eiz/mRt0o5JKBeuzr7Wpu0KL/DVG3wFqa8MpQWjbFTVxgqpd6KXV/KaJ 2pkP5lGlXVJW9xmmXR1l2X12EFC82E88Bh6Pj7Mu2MswPWgCPwoDwbRE1DrzKpTypXpM 2zcohoqORXDRKsAkQpR6kOTVGaEgppdtC7Mj5/BGRoZ5oILaYL+Q/j1w+LtJX92lQsgr /2CQcXiI6cvjwCNfkcI51BJ4zpbEoOMkGklqO2iVyxJ+YKYWI5G+e1ObVU20qeumQ573 NBEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=A8XcqWPk; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p73si4777090pfk.275.2018.04.30.07.56.39; Mon, 30 Apr 2018 07:56:53 -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=@gmail.com header.s=20161025 header.b=A8XcqWPk; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754556AbeD3O4S (ORCPT + 99 others); Mon, 30 Apr 2018 10:56:18 -0400 Received: from mail-pg0-f65.google.com ([74.125.83.65]:37042 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754444AbeD3O4N (ORCPT ); Mon, 30 Apr 2018 10:56:13 -0400 Received: by mail-pg0-f65.google.com with SMTP id a13-v6so6480830pgu.4 for ; Mon, 30 Apr 2018 07:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Un0p1Eukz+1AlGLfbig1HwEh7qdLym2j7MsHl3FR87c=; b=A8XcqWPk8eONCWFIbGLCB6drZ9UYv0OnUx2gqwzFL9IW4gKL9iGyZVEA/CzKramApi lOirXiuPNHCtn/0g1LTcIqE6ezuzJaV0jqerBljfGojIQvBQvG/Ze48zUnz5F4u8yrXr NqhPDt9j0VepnaF8J/waVIDgIS8KUYWxe3nCs2T17GeHxdNTlW5YUu1qcymJ8jxSABHH xuuR2/Lb2Ugo4u4Xe+lJyt27CW67IWG1Tctr7CzD1IigDFnqvwhirEHj7bSmAYq2k2h4 xN+oRoW44YnbWY5NNSt0AAgtfXMOThD38WcStJwnyb6c9ZQ0a0hVL2WHPi7qnWhXr40F QVMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Un0p1Eukz+1AlGLfbig1HwEh7qdLym2j7MsHl3FR87c=; b=eyTcWAxZY1rqBWJ0lKtT6Fb1qlOx6ZDQ5v0H1n65k91sZw6rZJbxjfBAr6pbm4cTuq QPdWNrsTkgjIV96RfREpfGgK4bwNXs7bpYYCdVnRYHwt2D6rp7Bo1H5EwHJjRW/zUDds 1rPZOmkGgs6Oa8iOCAquEbgSYH9i0UykPsM5S52h04prm0GDuV5demWmcUX51OMdEIlQ j5pplKkFJBbpWllU59Y9RQi4OqTTTtr5EgHf7DVNzcu77ES/u8hY1GKwoAsAWvQniDCW 19a2RMN2/9cQ0lWA8xbZRNyBZJMkLJS5BvEnm7h1UolHXKe9taw78IqYg2AnUtsVEVEX 4O+g== X-Gm-Message-State: ALQs6tBtAMS/KyO/QvpOgGubR3ARIKcJvbhXah23pcnRx1XTcf8oM5py M7qwfvZ0hiI7UtA7RBPHVLwJ7Q== X-Received: by 2002:a63:7a05:: with SMTP id v5-v6mr10348656pgc.184.1525100172529; Mon, 30 Apr 2018 07:56:12 -0700 (PDT) Received: from roar.au.ibm.com (59-102-70-78.tpgi.com.au. [59.102.70.78]) by smtp.gmail.com with ESMTPSA id a12sm19132534pfe.78.2018.04.30.07.56.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Apr 2018 07:56:11 -0700 (PDT) From: Nicholas Piggin To: linuxppc-dev@lists.ozlabs.org Cc: Nicholas Piggin , Benjamin Herrenschmidt , Greg Kroah-Hartman , Jiri Slaby , linux-kernel@vger.kernel.org Subject: [PATCH 01/15] powerpc/powernv: opal_put_chars partial write fix Date: Tue, 1 May 2018 00:55:44 +1000 Message-Id: <20180430145558.4308-2-npiggin@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180430145558.4308-1-npiggin@gmail.com> References: <20180430145558.4308-1-npiggin@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The intention here is to consume and discard the remaining buffer upon error. This works if there has not been a previous partial write. If there has been, then total_len is no longer total number of bytes to copy. total_len is always "bytes left to copy", so it should be added to written bytes. This code may not be exercised any more if partial writes will not be hit, but this is a small bugfix before a larger change. Reviewed-by: Benjamin Herrenschmidt Signed-off-by: Nicholas Piggin --- arch/powerpc/platforms/powernv/opal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c index 48fbb41af5d1..e695b836fd49 100644 --- a/arch/powerpc/platforms/powernv/opal.c +++ b/arch/powerpc/platforms/powernv/opal.c @@ -388,7 +388,7 @@ int opal_put_chars(uint32_t vtermno, const char *data, int total_len) /* Closed or other error drop */ if (rc != OPAL_SUCCESS && rc != OPAL_BUSY && rc != OPAL_BUSY_EVENT) { - written = total_len; + written += total_len; break; } if (rc == OPAL_SUCCESS) { -- 2.17.0