Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp865326yba; Wed, 24 Apr 2019 10:51:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqwnnMVrnzLu0+uZ8zSzLFLUUGCM/8L7vriQ7c/ngGCZcTJA3SM3UICOU6/V1jEIRRDBJ3ae X-Received: by 2002:a17:902:7589:: with SMTP id j9mr34197132pll.287.1556128304546; Wed, 24 Apr 2019 10:51:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556128304; cv=none; d=google.com; s=arc-20160816; b=JUBsYXdr2CkSMZX1X10sWWdv/d3w53Y1Ar95NMMQcVYIpvCCwM8Rvvjgi6AjxOLJvd Zz0YFwU64ipFJij3MtKYEaFNDvmJkEmleM27LpIPgb2WzLWv1gwdy4ez9Jpq1anY1Zx/ iZkOcMDLG5IaHrNTnlyCdZJgVvEZD9q9yT8ifU1JdxEXAjXiwT14ZQV+1kbiLoCPR1n9 Hheg2dwWnet662z0AbvAxfVVLQyfa/Wt76JDwgrOcDkewebDnzFvLDv+NTNvA40q+LaI 8Z3VlpxoZ7oFPB6rdNxlI4TDL2MOc3pQrjx4akRBqCZezKW8m7WQ5DAav+zmMZy6XCuR oL5g== 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=rRp0SYnrG/NkBfBU4YTYCbprKRGQpU2WbDzzYLkPLh8=; b=mFWhifmA/ulMU0kCs0kkfXBW6gQ8bvMmWWKsYzApDjoMh5gSL+5sU4KBkt6JyEK4py Iqav2K9IayiUtWwsxdV0xxNpxINtB6f71G6x3jdUaAnDvPqos9CMZ2P3nrSJo37wsa4Y hujwnebrikVxPUc9zxhRpVATgcoc9sh9M+Or/a/TqqfkEr0IfWyf9f6wZa6/QIKrC7Ld 2IFp+Zi0iEVasaRj2LsOSAitwf0EcDSbWxtBneHMkiwckxBc/8CuYXo2zzWOmPxvdZK4 i35Cz/46qemqMCRkcgU4Ydoe0PItM5RjR3FbCmc8xP00q2lbN6iyJ685bUJyiX0RUgxr IqGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dANn7qym; 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 t24si4015067pgj.147.2019.04.24.10.51.29; Wed, 24 Apr 2019 10:51:44 -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=dANn7qym; 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 S2390993AbfDXRa3 (ORCPT + 99 others); Wed, 24 Apr 2019 13:30:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:56722 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390982AbfDXRaX (ORCPT ); Wed, 24 Apr 2019 13:30:23 -0400 Received: from localhost (62-193-50-229.as16211.net [62.193.50.229]) (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 B16FF2077C; Wed, 24 Apr 2019 17:30:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556127023; bh=BJpjWrulrbJR5wn8zEMd2Fgf4wYFCG/auu6n56H0ARw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dANn7qymhjaAiOtdlHJly9s6uZieZEV0eP674yDj7nYiEu+S4LjJNc8rnQKQ6+Egk l4JSs5jQQg+5id5az9tE0pV12Bp0poRoPIaA1wyhLs63pR75JflP/Nti+C0MVo8qJN RT+1H9gz52iy/DlJPB2IIHHW0/ZyH4sI2GD3aWOs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ronnie Sahlberg , Steve French , Pavel Shilovsky Subject: [PATCH 4.19 31/96] cifs: fix handle leak in smb2_query_symlink() Date: Wed, 24 Apr 2019 19:09:36 +0200 Message-Id: <20190424170921.979543686@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190424170919.829037226@linuxfoundation.org> References: <20190424170919.829037226@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: Ronnie Sahlberg commit e6d0fb7b34f264f72c33053558a360a6a734905e upstream. If we enter smb2_query_symlink() for something that is not a symlink and where the SMB2_open() would succeed we would never end up closing this handle and would thus leak a handle on the server. Fix this by immediately calling SMB2_close() on successfull open. Signed-off-by: Ronnie Sahlberg CC: Stable Signed-off-by: Steve French Reviewed-by: Pavel Shilovsky Signed-off-by: Greg Kroah-Hartman --- fs/cifs/smb2ops.c | 2 ++ 1 file changed, 2 insertions(+) --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -1906,6 +1906,8 @@ smb2_query_symlink(const unsigned int xi rc = SMB2_open(xid, &oparms, utf16_path, &oplock, NULL, &err_iov, &resp_buftype); + if (!rc) + SMB2_close(xid, tcon, fid.persistent_fid, fid.volatile_fid); if (!rc || !err_iov.iov_base) { rc = -ENOENT; goto free_path;