From patchwork Wed Mar 16 16:31:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dmitry V. Levin" X-Patchwork-Id: 8602361 Return-Path: X-Original-To: patchwork-linux-fsdevel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 05333C0553 for ; Wed, 16 Mar 2016 16:31:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 26A8C201E4 for ; Wed, 16 Mar 2016 16:31:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 05D7F202F0 for ; Wed, 16 Mar 2016 16:31:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753166AbcCPQb1 (ORCPT ); Wed, 16 Mar 2016 12:31:27 -0400 Received: from pegasus3.altlinux.org ([194.107.17.103]:38979 "EHLO pegasus3.altlinux.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755060AbcCPQbZ (ORCPT ); Wed, 16 Mar 2016 12:31:25 -0400 Received: from mua.local.altlinux.org (mua.local.altlinux.org [192.168.1.14]) by pegasus3.altlinux.org (Postfix) with ESMTP id B776A8082B; Wed, 16 Mar 2016 19:31:22 +0300 (MSK) Received: by mua.local.altlinux.org (Postfix, from userid 508) id A93C7AC40FD; Wed, 16 Mar 2016 19:31:22 +0300 (MSK) Date: Wed, 16 Mar 2016 19:31:22 +0300 From: "Dmitry V. Levin" To: Alexander Viro Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RESEND v4 PATCH] vfs: show_vfsstat: do not ignore errors from show_devname method Message-ID: <20160316163122.GA17817@altlinux.org> References: <20150319113043.GC11802@altlinux.org> <20151118174248.GA13411@altlinux.org> <20160111153607.GA30070@altlinux.org> <20160219015607.GA17333@altlinux.org> Mime-Version: 1.0 Content-Disposition: inline In-Reply-To: <20160219015607.GA17333@altlinux.org> Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Date: Thu, 19 Mar 2015 11:10:54 +0000 Explicitly check show_devname method return code and bail out in case of an error. This fixes regression introduced by commit 9d4d65748a5c. Signed-off-by: Dmitry V. Levin --- fs/proc_namespace.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c index 2256e7e..3f1190d 100644 --- a/fs/proc_namespace.c +++ b/fs/proc_namespace.c @@ -190,26 +190,28 @@ out: static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) { struct proc_mounts *p = m->private; struct mount *r = real_mount(mnt); struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; struct super_block *sb = mnt_path.dentry->d_sb; int err; /* device */ if (sb->s_op->show_devname) { seq_puts(m, "device "); err = sb->s_op->show_devname(m, mnt_path.dentry); + if (err) + goto out; } else { if (r->mnt_devname) { seq_puts(m, "device "); mangle(m, r->mnt_devname); } else seq_puts(m, "no device"); } /* mount point */ seq_puts(m, " mounted on "); /* mountpoints outside of chroot jail will give SEQ_SKIP on this */ err = seq_path_root(m, &mnt_path, &p->root, " \t\n\\"); if (err) goto out;