All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Dave Jones <davej@redhat.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	xfs@oss.sgi.com
Subject: Re: XFS assertion from truncate. (3.10-rc2)
Date: Wed, 22 May 2013 10:16:03 +1000	[thread overview]
Message-ID: <20130522001603.GZ29466@dastard> (raw)
In-Reply-To: <20130522000803.GA19891@redhat.com>

On Tue, May 21, 2013 at 08:08:03PM -0400, Dave Jones wrote:
> On Wed, May 22, 2013 at 09:54:10AM +1000, Dave Chinner wrote:
>  > On Tue, May 21, 2013 at 07:40:16PM -0400, Dave Jones wrote:
>  > > On Wed, May 22, 2013 at 09:34:29AM +1000, Dave Chinner wrote:
>  > >  > On Tue, May 21, 2013 at 06:52:57PM -0400, Dave Jones wrote:
>  > >  > > [  464.210598] XFS: Assertion failed: (mask & (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| ATTR_MTIME_SET|ATTR_KILL_SUID|ATTR_KILL_SGID| ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0, file: fs/xfs/xfs_iops.c, line: 719
>  > >  > 
>  > >  > Never seen that fire before, but this is why we have ASSERT()s like
>  > >  > this - we're being handed something by the VFS we don't expect...
>  > >  > 
>  > >  > Can you give me some context of the file permissions before the
>  > >  > syscall and what the syscall parameters are? i.e. is this likely to
>  > >  > be trying to strip SUID/SGID during the truncate operation?
>  > > 
>  > > no idea tbh. Is there something I can add to that assert to dump
>  > > which file it was triggered by ?
>  > 
>  > Convert the assert to a if (), and then in the body do something
>  > like:
>  > 
>  > 	if (mask & (...) {
>  > 		char buf[MAX_PATHLEN];
>  > 
>  > 		d_path(VFS_I(ip)->i_dentry, buf, MAXPATHLEN);
>  > 		xfs_warn(mp, "%s: mask 0x%x mismatch on file %s\n",
>  > 			 __func__, mask, buf);
>  > 		ASSERT(0);
>  > 	}
> 
> fs/xfs/xfs_iops.c: In function ‘xfs_setattr_size’:
> fs/xfs/xfs_iops.c:723:17: error: incompatible type for argument 1 of ‘d_path’
>                  d_path(VFS_I(ip)->i_dentry, buf, MAXPATHLEN);
>                  ^

Oh, sorry, dentry_path() is the version that takes a dentry as the
first parameter. I always get the two confused...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: Dave Jones <davej@redhat.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	xfs@oss.sgi.com
Subject: Re: XFS assertion from truncate. (3.10-rc2)
Date: Wed, 22 May 2013 10:16:03 +1000	[thread overview]
Message-ID: <20130522001603.GZ29466@dastard> (raw)
In-Reply-To: <20130522000803.GA19891@redhat.com>

On Tue, May 21, 2013 at 08:08:03PM -0400, Dave Jones wrote:
> On Wed, May 22, 2013 at 09:54:10AM +1000, Dave Chinner wrote:
>  > On Tue, May 21, 2013 at 07:40:16PM -0400, Dave Jones wrote:
>  > > On Wed, May 22, 2013 at 09:34:29AM +1000, Dave Chinner wrote:
>  > >  > On Tue, May 21, 2013 at 06:52:57PM -0400, Dave Jones wrote:
>  > >  > > [  464.210598] XFS: Assertion failed: (mask & (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| ATTR_MTIME_SET|ATTR_KILL_SUID|ATTR_KILL_SGID| ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0, file: fs/xfs/xfs_iops.c, line: 719
>  > >  > 
>  > >  > Never seen that fire before, but this is why we have ASSERT()s like
>  > >  > this - we're being handed something by the VFS we don't expect...
>  > >  > 
>  > >  > Can you give me some context of the file permissions before the
>  > >  > syscall and what the syscall parameters are? i.e. is this likely to
>  > >  > be trying to strip SUID/SGID during the truncate operation?
>  > > 
>  > > no idea tbh. Is there something I can add to that assert to dump
>  > > which file it was triggered by ?
>  > 
>  > Convert the assert to a if (), and then in the body do something
>  > like:
>  > 
>  > 	if (mask & (...) {
>  > 		char buf[MAX_PATHLEN];
>  > 
>  > 		d_path(VFS_I(ip)->i_dentry, buf, MAXPATHLEN);
>  > 		xfs_warn(mp, "%s: mask 0x%x mismatch on file %s\n",
>  > 			 __func__, mask, buf);
>  > 		ASSERT(0);
>  > 	}
> 
> fs/xfs/xfs_iops.c: In function ‘xfs_setattr_size’:
> fs/xfs/xfs_iops.c:723:17: error: incompatible type for argument 1 of ‘d_path’
>                  d_path(VFS_I(ip)->i_dentry, buf, MAXPATHLEN);
>                  ^

Oh, sorry, dentry_path() is the version that takes a dentry as the
first parameter. I always get the two confused...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2013-05-22  0:16 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-21 22:52 XFS assertion from truncate. (3.10-rc2) Dave Jones
2013-05-21 22:52 ` Dave Jones
2013-05-21 23:34 ` Dave Chinner
2013-05-21 23:34   ` Dave Chinner
2013-05-21 23:40   ` Dave Jones
2013-05-21 23:40     ` Dave Jones
2013-05-21 23:54     ` Dave Chinner
2013-05-21 23:54       ` Dave Chinner
2013-05-22  0:08       ` Dave Jones
2013-05-22  0:08         ` Dave Jones
2013-05-22  0:16         ` Dave Chinner [this message]
2013-05-22  0:16           ` Dave Chinner
2013-05-22  2:56           ` Dave Jones
2013-05-22  2:56             ` Dave Jones
2013-05-22  4:03             ` Dave Chinner
2013-05-22  4:03               ` Dave Chinner
2013-05-22  4:15               ` Dave Jones
2013-05-22  4:15                 ` Dave Jones
2013-05-22  5:12                 ` Dave Chinner
2013-05-22  5:12                   ` Dave Chinner
2013-05-22  5:29                   ` Dave Jones
2013-05-22  5:29                     ` Dave Jones
2013-05-22  5:51                     ` Dave Chinner
2013-05-22  5:51                       ` Dave Chinner
2013-05-22 14:22                       ` Dave Jones
2013-05-22 14:22                         ` Dave Jones
2013-05-22 16:19                         ` Dave Jones
2013-05-22 16:19                           ` Dave Jones
2013-05-22 22:09                           ` Dave Chinner
2013-05-22 22:09                             ` Dave Chinner
2013-05-22 23:53                             ` Dave Jones
2013-05-22 23:53                               ` Dave Jones
2013-05-23 15:17                             ` Dave Jones
2013-05-23 15:17                               ` Dave Jones
2013-05-23 18:13                               ` Dave Jones
2013-05-23 18:13                                 ` Dave Jones
2013-05-22 21:54                       ` Dave Chinner
2013-05-22 21:54                         ` Dave Chinner
2013-05-23 18:49                         ` Dave Jones
2013-05-23 18:49                           ` Dave Jones
2013-05-23 22:30                           ` Dave Chinner
2013-05-23 22:30                             ` Dave Chinner
2013-05-24  0:49                             ` Dave Jones
2013-05-24  0:49                               ` Dave Jones
2013-05-24  1:26                               ` Dave Chinner
2013-05-24  1:26                                 ` Dave Chinner
2013-05-24  1:36                                 ` Dave Jones
2013-05-24  1:36                                   ` Dave Jones
2013-05-24  1:52                                 ` Dave Jones
2013-05-24  1:52                                   ` Dave Jones
2013-05-24  3:03                                   ` Dave Jones
2013-05-24  3:03                                     ` Dave Jones
2013-05-24  8:03                                     ` Dave Chinner
2013-05-24  8:03                                       ` Dave Chinner
2013-05-24 20:16                                       ` Dave Jones
2013-05-24 20:16                                         ` Dave Jones
2013-05-25  4:58                                       ` Eric Sandeen
2013-05-25  4:58                                         ` Eric Sandeen
2013-05-25  6:39                                         ` Stan Hoeppner
2013-05-26 22:43                                           ` Dave Chinner

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=20130522001603.GZ29466@dastard \
    --to=david@fromorbit.com \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xfs@oss.sgi.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.