Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8122416imu; Tue, 4 Dec 2018 03:23:20 -0800 (PST) X-Google-Smtp-Source: AFSGD/We1LATAMdupQQOnpc8qmJ8Zo9tn/tv6g325kgIEC3pKOEsqbBnmGGyzitk6YEfzOrCN+lh X-Received: by 2002:a63:82c6:: with SMTP id w189mr15484113pgd.344.1543922600290; Tue, 04 Dec 2018 03:23:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543922600; cv=none; d=google.com; s=arc-20160816; b=nUKDG/LFgDFbOmc2atlp8A/UfLT7usna8muzNvYoD4FzbB8f28fW1QIXmgXMt/I0kh TucZTjwJBfQQu2OBnpMysbR6x0Bma+GZNfnlZ8cax2vjDBrFa9IuNCI7q48UrU6kigN2 ehfKUdnywjoQvDP6vt1B6bSSv8cXxOC0N1Is/SUZXMDCiH3uCa2tJPPXC2LWqM4f5s4L UDv5grborqhDH7kXwtXZvGT5+XXY7R3Re/1QqeVFcZpNOTVLXfQEAEWpVKmYgU5RA7pY JwIAYb3qJBR6IWTrmqm0pa4rxFf5kCsgjkXqGT0ic3Sxgpnbjor8lu3ZTkObp0vC7zZX s0yQ== 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=7jeKhbGTaey9Rucp0N1kln8gYXjOKFLvZyQNJeutEr8=; b=HeBNXB8p3g/Qrpd7bZ43QPLmn3L+pl2xa+p9OBhWAQR0UjRo1778UumUvbgjWq4M4c jI3zXQFzzVt4MiCpWtf1+6L9BHbf6ectv8U4E0aAihPmONRGkG+Y6Fh+wE4uW+oS/3fx zlBKT2TnzUMVLvUzOXZq0htt7eltyE5d1WT43fraVwMVfMBsJwqF8uqWKcWBazGftNYs 57OITlUm8hNbo1kch4pFnlVGzIB9F0mCji5/I5TCsqiZgJxZwbXuHVG4+B9LrWpITHsB iPRrUKYwvM3sgeQUBxiUb+FUk5NIfbixWwLM9eiu7vrH8q3ezcfB7DLGTCppA0K/ki86 QKzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=akwQIwfx; 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 92si16945929plw.158.2018.12.04.03.23.04; Tue, 04 Dec 2018 03:23:20 -0800 (PST) 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=akwQIwfx; 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 S1727048AbeLDLCV (ORCPT + 99 others); Tue, 4 Dec 2018 06:02:21 -0500 Received: from mail.kernel.org ([198.145.29.99]:48212 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727258AbeLDLCR (ORCPT ); Tue, 4 Dec 2018 06:02:17 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 E76DE214DA; Tue, 4 Dec 2018 11:02:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921337; bh=cfHN5+y0rUPilxoxQ1gHEHYID0tg10RXz5nZ+kVQczU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=akwQIwfxgn+hu41xD/ocGHWwVtRIgU1JY3nMJhaWRnBZdOu0vTPEzTHnD7AKmw4KM IaYYfDxszkjPBiS2z+Lq5oK3xN+LesYRyQNEIzp23MLt4xxU/NnbmBTDSG2efjzZLq D1PHuZgG62JZ8D920y7KC60m1gMuS2qA7ZU3NKLU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vakul Garg , "David S. Miller" , Ben Hutchings , Sasha Levin Subject: [PATCH 4.14 025/146] net/tls: Fixed return value when tls_complete_pending_work() fails Date: Tue, 4 Dec 2018 11:48:31 +0100 Message-Id: <20181204103727.845368602@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ commit 150085791afb8054e11d2e080d4b9cd755dd7f69 upstream. In tls_sw_sendmsg() and tls_sw_sendpage(), the variable 'ret' has been set to return value of tls_complete_pending_work(). This allows return of proper error code if tls_complete_pending_work() fails. Fixes: 3c4d7559159b ("tls: kernel TLS support") Signed-off-by: Vakul Garg Signed-off-by: David S. Miller [bwh: Backported to 4.14: adjust context] Signed-off-by: Ben Hutchings Signed-off-by: Sasha Levin --- net/tls/tls_sw.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index 5996fb5756e1..d18d4a478e4f 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -388,7 +388,7 @@ int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) { struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_sw_context *ctx = tls_sw_ctx(tls_ctx); - int ret = 0; + int ret; int required_size; long timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT); bool eor = !(msg->msg_flags & MSG_MORE); @@ -403,7 +403,8 @@ int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) lock_sock(sk); - if (tls_complete_pending_work(sk, tls_ctx, msg->msg_flags, &timeo)) + ret = tls_complete_pending_work(sk, tls_ctx, msg->msg_flags, &timeo); + if (ret) goto send_end; if (unlikely(msg->msg_controllen)) { @@ -539,7 +540,7 @@ int tls_sw_sendpage(struct sock *sk, struct page *page, { struct tls_context *tls_ctx = tls_get_ctx(sk); struct tls_sw_context *ctx = tls_sw_ctx(tls_ctx); - int ret = 0; + int ret; long timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT); bool eor; size_t orig_size = size; @@ -559,7 +560,8 @@ int tls_sw_sendpage(struct sock *sk, struct page *page, sk_clear_bit(SOCKWQ_ASYNC_NOSPACE, sk); - if (tls_complete_pending_work(sk, tls_ctx, flags, &timeo)) + ret = tls_complete_pending_work(sk, tls_ctx, flags, &timeo); + if (ret) goto sendpage_end; /* Call the sk_stream functions to manage the sndbuf mem. */ -- 2.17.1