cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
@ 2014-03-12  8:41 Abhi Das
  2014-03-12 10:03 ` Steven Whitehouse
  0 siblings, 1 reply; 4+ messages in thread
From: Abhi Das @ 2014-03-12  8:41 UTC (permalink / raw)
  To: cluster-devel.redhat.com

gfs2_lookupi() can return NULL if the path to the root is broken by
another rename/rmdir. In this case gfs2_ok_to_move() must check for
this NULL pointer and return error.

Resolves: rhbz#1060246
Signed-off-by: Abhi Das <adas@redhat.com>
---
 fs/gfs2/inode.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index ec455b9..b52ebf8 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -1299,6 +1299,10 @@ static int gfs2_ok_to_move(struct gfs2_inode *this, struct gfs2_inode *to)
 		}
 
 		tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1);
+		if (!tmp) {
+			error = -ENOENT;
+			break;
+		}
 		if (IS_ERR(tmp)) {
 			error = PTR_ERR(tmp);
 			break;
-- 
1.8.1.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
  2014-03-12  8:41 [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move Abhi Das
@ 2014-03-12 10:03 ` Steven Whitehouse
  2014-03-12 10:59   ` Abhijith Das
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Whitehouse @ 2014-03-12 10:03 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote:
> gfs2_lookupi() can return NULL if the path to the root is broken by
> another rename/rmdir. In this case gfs2_ok_to_move() must check for
> this NULL pointer and return error.
> 
> Resolves: rhbz#1060246
> Signed-off-by: Abhi Das <adas@redhat.com>

Thanks for the patch. I've added it to the -nmw tree,

Steve.

> ---
>  fs/gfs2/inode.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
> index ec455b9..b52ebf8 100644
> --- a/fs/gfs2/inode.c
> +++ b/fs/gfs2/inode.c
> @@ -1299,6 +1299,10 @@ static int gfs2_ok_to_move(struct gfs2_inode *this, struct gfs2_inode *to)
>  		}
>  
>  		tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1);
> +		if (!tmp) {
> +			error = -ENOENT;
> +			break;
> +		}
>  		if (IS_ERR(tmp)) {
>  			error = PTR_ERR(tmp);
>  			break;




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
  2014-03-12 10:03 ` Steven Whitehouse
@ 2014-03-12 10:59   ` Abhijith Das
  2014-03-12 13:08     ` Steven Whitehouse
  0 siblings, 1 reply; 4+ messages in thread
From: Abhijith Das @ 2014-03-12 10:59 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Err... a heads up: We might have to revise this patch. I just ran fsck on the fs
after cleanly unmounting it and it came back with a bunch of errors complaining
about inodes missing '.' and '..' directories. I haven't looked at the fsck
log in detail, but I'll know more when I investigate it later today.

Holding off on posting RHEL6/7 versions of this patch.

Cheers!
--Abhi

----- Original Message -----
> From: "Steven Whitehouse" <swhiteho@redhat.com>
> To: "Abhi Das" <adas@redhat.com>
> Cc: cluster-devel at redhat.com
> Sent: Wednesday, March 12, 2014 5:03:20 AM
> Subject: Re: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
> 
> Hi,
> 
> On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote:
> > gfs2_lookupi() can return NULL if the path to the root is broken by
> > another rename/rmdir. In this case gfs2_ok_to_move() must check for
> > this NULL pointer and return error.
> > 
> > Resolves: rhbz#1060246
> > Signed-off-by: Abhi Das <adas@redhat.com>
> 
> Thanks for the patch. I've added it to the -nmw tree,
> 
> Steve.
> 
> > ---
> >  fs/gfs2/inode.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
> > index ec455b9..b52ebf8 100644
> > --- a/fs/gfs2/inode.c
> > +++ b/fs/gfs2/inode.c
> > @@ -1299,6 +1299,10 @@ static int gfs2_ok_to_move(struct gfs2_inode *this,
> > struct gfs2_inode *to)
> >  		}
> >  
> >  		tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1);
> > +		if (!tmp) {
> > +			error = -ENOENT;
> > +			break;
> > +		}
> >  		if (IS_ERR(tmp)) {
> >  			error = PTR_ERR(tmp);
> >  			break;
> 
> 
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
  2014-03-12 10:59   ` Abhijith Das
@ 2014-03-12 13:08     ` Steven Whitehouse
  0 siblings, 0 replies; 4+ messages in thread
From: Steven Whitehouse @ 2014-03-12 13:08 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

On Wed, 2014-03-12 at 06:59 -0400, Abhijith Das wrote:
> Err... a heads up: We might have to revise this patch. I just ran fsck on the fs
> after cleanly unmounting it and it came back with a bunch of errors complaining
> about inodes missing '.' and '..' directories. I haven't looked at the fsck
> log in detail, but I'll know more when I investigate it later today.
> 
> Holding off on posting RHEL6/7 versions of this patch.
> 
> Cheers!
> --Abhi
> 
Ok... I'd be surprised if they were related though, since the new test
just aborts the rename without doing anything in that one particular
case,

Steve.

> ----- Original Message -----
> > From: "Steven Whitehouse" <swhiteho@redhat.com>
> > To: "Abhi Das" <adas@redhat.com>
> > Cc: cluster-devel at redhat.com
> > Sent: Wednesday, March 12, 2014 5:03:20 AM
> > Subject: Re: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move
> > 
> > Hi,
> > 
> > On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote:
> > > gfs2_lookupi() can return NULL if the path to the root is broken by
> > > another rename/rmdir. In this case gfs2_ok_to_move() must check for
> > > this NULL pointer and return error.
> > > 
> > > Resolves: rhbz#1060246
> > > Signed-off-by: Abhi Das <adas@redhat.com>
> > 
> > Thanks for the patch. I've added it to the -nmw tree,
> > 
> > Steve.
> > 
> > > ---
> > >  fs/gfs2/inode.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > > 
> > > diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
> > > index ec455b9..b52ebf8 100644
> > > --- a/fs/gfs2/inode.c
> > > +++ b/fs/gfs2/inode.c
> > > @@ -1299,6 +1299,10 @@ static int gfs2_ok_to_move(struct gfs2_inode *this,
> > > struct gfs2_inode *to)
> > >  		}
> > >  
> > >  		tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1);
> > > +		if (!tmp) {
> > > +			error = -ENOENT;
> > > +			break;
> > > +		}
> > >  		if (IS_ERR(tmp)) {
> > >  			error = PTR_ERR(tmp);
> > >  			break;
> > 
> > 
> > 




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-12 13:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-12  8:41 [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move Abhi Das
2014-03-12 10:03 ` Steven Whitehouse
2014-03-12 10:59   ` Abhijith Das
2014-03-12 13:08     ` Steven Whitehouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).