Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp4427644ybe; Mon, 9 Sep 2019 09:07:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqwC0dpnnrMg1EDN9ZDXUNTcCnANwwMDpBy//lwiHFPUJzY7K0HFxu7h0dgAKmOrA+5fWeky X-Received: by 2002:a17:906:8317:: with SMTP id j23mr19912599ejx.270.1568045270791; Mon, 09 Sep 2019 09:07:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568045270; cv=none; d=google.com; s=arc-20160816; b=GgVixTe7PLbf54doTu3DrQna9QwEKHUYLz8+b6PIYpZfOVKCiLnlNUjNPGrpRjGbZK nwvwxC/TMPO5bopdFPFzXaLqd/jIhDtoIPvdXIs/eb7dMIR1iX4BI22alUAsTeSAQD9I SichjFmvII/HvYYhsNn/rZZR8otr+yMnRcqSFm/TNbNJ0Qklp5hHaKPQC4ZPpOkuQW6B cF2nQYwaTLuy1CVlyIr8SqQBk7NbFSWuduU37WaP6/DnCzDPzhV9+bRN9hryfpq0Lak4 /7nvSKJxJIIAB5gfrsHel0BC0WgVZzam4PpwnjXmC579a+xCg/TVZCRnd/sq5NxIufKx mwUQ== 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=u2FM+K5TarrDgKjhG9y6Jmx1n69Xk9A0OYEHmogV5MQ=; b=eoh4kSjr/szepJABP1HsD6nBJFf0zXgPDNEumvwXqe3IQvBakZ0yxgaeU8neUJd+nT bQu7mxO4jvCBCy+jw4jpL3FFcVdALOMsvycPKywnlRAUmyoXTIQl5yIrmtBHKq2tSglO HqKNXtZYHRkOl/3Zfa0Po1S3Zjbkxb2l5dJaG/1ZGGxiT1pKXQ046w3q6qMhbVak2ZiW +bQAHdAxOhEwymuUR7RGvkG77AFLNLg+ecnl6I9ZpUP5h6D96izarhgZNKdrcmaKb6hD 07WBPsOg87yV1yxy1g4HGY4aPvHuZtwq+ulszqM9Egz5hh4bbEjJWm+7XEOh10EcJ7pM zvZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Cdzh4pUV; 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 n5si1035476ejk.200.2019.09.09.09.07.26; Mon, 09 Sep 2019 09:07:50 -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=Cdzh4pUV; 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 S2387673AbfIHMyE (ORCPT + 99 others); Sun, 8 Sep 2019 08:54:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:45258 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733189AbfIHMwp (ORCPT ); Sun, 8 Sep 2019 08:52:45 -0400 Received: from localhost (unknown [62.28.240.114]) (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 9E1572190F; Sun, 8 Sep 2019 12:52:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1567947165; bh=33mGaRZWrHhwiqP9nSj/0YhKLqDFGd9MZYXKhyZajIY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Cdzh4pUVZXQsWVhFwZRsJJrrqBqoDZpbSgEowDg87ZEdO3KgZXd/j9x0z4JH0Uhoy lVZ7XqWJ4ZNsqN/pWl9d3EIKvq1R9I08eH+A59Rqw+1VEEi+cssD044LpXTNzJdMY4 4ewV7Nuktxv1Y5KLtmorHML+kjDSaAvYKUJKtxRA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marc Dionne , David Howells , Sasha Levin Subject: [PATCH 5.2 85/94] afs: Fix possible oops in afs_lookup trace event Date: Sun, 8 Sep 2019 13:42:21 +0100 Message-Id: <20190908121152.865634230@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190908121150.420989666@linuxfoundation.org> References: <20190908121150.420989666@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 [ Upstream commit c4c613ff08d92e72bf64a65ec35a2c3aa1cfcd06 ] The afs_lookup trace event can cause the following: [ 216.576777] BUG: kernel NULL pointer dereference, address: 000000000000023b [ 216.576803] #PF: supervisor read access in kernel mode [ 216.576813] #PF: error_code(0x0000) - not-present page ... [ 216.576913] RIP: 0010:trace_event_raw_event_afs_lookup+0x9e/0x1c0 [kafs] If the inode from afs_do_lookup() is an error other than ENOENT, or if it is ENOENT and afs_try_auto_mntpt() returns an error, the trace event will try to dereference the error pointer as a valid pointer. Use IS_ERR_OR_NULL to only pass a valid pointer for the trace, or NULL. Ideally the trace would include the error value, but for now just avoid the oops. Fixes: 80548b03991f ("afs: Add more tracepoints") Signed-off-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: Sasha Levin --- fs/afs/dir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 9620f19308f58..9bd5c067d55d1 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -960,7 +960,8 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, inode ? AFS_FS_I(inode) : NULL); } else { trace_afs_lookup(dvnode, &dentry->d_name, - inode ? AFS_FS_I(inode) : NULL); + IS_ERR_OR_NULL(inode) ? NULL + : AFS_FS_I(inode)); } return d; } -- 2.20.1