All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Al Viro <viro@zeniv.linux.org.uk>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Pavel Emelyanov <xemul@parallels.com>,
	James Bottomley <jbottomley@parallels.com>,
	Matthew Helsley <matt.helsley@gmail.com>,
	aneesh.kumar@linux.vnet.ibm.com
Subject: Re: [patch 4/9] fs, exportfs: Fix nil dereference if no s_export_op present
Date: Thu, 23 Aug 2012 11:22:01 -0400	[thread overview]
Message-ID: <20120823152201.GB6923@fieldses.org> (raw)
In-Reply-To: <20120823123422.GB9112@moon>

On Thu, Aug 23, 2012 at 04:34:22PM +0400, Cyrill Gorcunov wrote:
> On Thu, Aug 23, 2012 at 08:12:30AM -0400, J. Bruce Fields wrote:
> > On Thu, Aug 23, 2012 at 02:43:27PM +0400, Cyrill Gorcunov wrote:
> > > If there is no s_export_op present in a target superblock
> > > we might have nil dereference.
> > 
> > Is that NULL dereference possible with current code, or is it a check
> > you're adding to account for a new caller that you're about to add?
> > 
> > I believe it's the latter, but this would be a good thing to make clear
> > in the changelog.
> 
> With the current code it seems to be impossible (well, i can't be sure
> about nfs caller) because do_sys_name_to_handle does check for s_export_op
> to exist. Updated changelog below. After all I think not checking
> s_export_op was a mistake in general -- this routine is exported to
> other modules but has no a single line of comment about possibility
> of nil dereference.

Fine, just make sure that's explained in the changelog.

For distributors looking for patches to backport, "fix nil dereference"
may set off alarm bells unnecessarily.

--b.

> ---
> From: Cyrill Gorcunov <gorcunov@openvz.org>
> Subject: fs, exportfs: Escape nil dereference if no s_export_op present
> 
> This routine will be used to generate a file handle in fdinfo
> output for inotify subsystem, where if no s_export_op present
> the general export_encode_fh should be used. Thus add
> a test if s_export_op present inside exportfs_encode_fh itself.
> 
> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
> CC: Pavel Emelyanov <xemul@parallels.com>
> CC: Al Viro <viro@ZenIV.linux.org.uk>
> CC: Alexey Dobriyan <adobriyan@gmail.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: James Bottomley <jbottomley@parallels.com>
> CC: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
> CC: Alexey Dobriyan <adobriyan@gmail.com>
> CC: Matthew Helsley <matt.helsley@gmail.com>
> CC: "J. Bruce Fields" <bfields@fieldses.org>
> CC: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
> ---
>  fs/exportfs/expfs.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: linux-2.6.git/fs/exportfs/expfs.c
> ===================================================================
> --- linux-2.6.git.orig/fs/exportfs/expfs.c
> +++ linux-2.6.git/fs/exportfs/expfs.c
> @@ -357,7 +357,7 @@ int exportfs_encode_fh(struct dentry *de
>  		 */
>  		parent = p->d_inode;
>  	}
> -	if (nop->encode_fh)
> +	if (nop && nop->encode_fh)
>  		error = nop->encode_fh(inode, fid->raw, max_len, parent);
>  	else
>  		error = export_encode_fh(inode, fid, max_len, parent);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2012-08-23 15:22 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-23 10:43 [patch 0/9] extended fdinfo via procfs series, v7 Cyrill Gorcunov
2012-08-23 10:43 ` [patch 1/9] procfs: Move /proc/pid/fd[info] handling code to fd.[ch] Cyrill Gorcunov
2012-08-25 17:16   ` Al Viro
2012-08-25 17:39     ` Cyrill Gorcunov
2012-08-25 17:55       ` Al Viro
2012-08-25 18:58         ` Cyrill Gorcunov
2012-08-25 19:12           ` Al Viro
2012-08-25 19:43             ` Cyrill Gorcunov
2012-08-25 21:52               ` Al Viro
2012-08-25 23:19     ` Al Viro
2012-08-23 10:43 ` [patch 2/9] procfs: Convert /proc/pid/fdinfo/ handling routines to seq-file v2 Cyrill Gorcunov
2012-08-26  2:46   ` Al Viro
2012-08-26  8:13     ` Cyrill Gorcunov
2012-08-26 14:28     ` Cyrill Gorcunov
2012-08-26 15:05       ` Al Viro
2012-08-26 15:10         ` Cyrill Gorcunov
2012-08-23 10:43 ` [patch 3/9] procfs: Add ability to plug in auxiliary fdinfo providers Cyrill Gorcunov
2012-08-23 10:43 ` [patch 4/9] fs, exportfs: Fix nil dereference if no s_export_op present Cyrill Gorcunov
2012-08-23 12:12   ` J. Bruce Fields
2012-08-23 12:34     ` Cyrill Gorcunov
2012-08-23 15:22       ` J. Bruce Fields [this message]
2012-08-23 10:43 ` [patch 5/9] fs, notify: Add file handle entry into inotify_inode_mark Cyrill Gorcunov
2012-08-23 10:43 ` [patch 6/9] fs, notify: Add procfs fdinfo helper v4 Cyrill Gorcunov
2012-08-23 10:43 ` [patch 7/9] fs, eventfd: Add procfs fdinfo helper Cyrill Gorcunov
2012-08-23 10:43 ` [patch 8/9] fs, epoll: Add procfs fdinfo helper v2 Cyrill Gorcunov
2012-08-23 10:43 ` [patch 9/9] fdinfo: Show sigmask for signalfd fd v2 Cyrill Gorcunov
2012-08-23 12:23 ` [patch 0/9] extended fdinfo via procfs series, v7 J. Bruce Fields
2012-08-23 12:44   ` Cyrill Gorcunov
2012-08-23 13:52     ` J. Bruce Fields
2012-08-23 13:56       ` Cyrill Gorcunov
2012-08-23 15:25         ` J. Bruce Fields
2012-08-23 17:02           ` Cyrill Gorcunov
2012-08-23 17:59             ` J. Bruce Fields
2012-08-23 18:03               ` Cyrill Gorcunov
2012-08-23 17:28     ` Cyrill Gorcunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120823152201.GB6923@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=gorcunov@openvz.org \
    --cc=jbottomley@parallels.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.helsley@gmail.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xemul@parallels.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.