Re: fix notify_change() potential null dereference.

From: Linus Torvalds
Date: Fri Apr 16 2004 - 17:02:57 EST



I disagree on this one - at least with the message.

The fact is, "inode" can't be NULL. We have a BUG() check for it, but
getting a page fault would be equally effective.

Linus

On Fri, 16 Apr 2004, Dave Jones wrote:
>
> --- linux-2.6.5/fs/attr.c~ 2004-04-16 22:36:00.000000000 +0100
> +++ linux-2.6.5/fs/attr.c 2004-04-16 22:36:37.000000000 +0100
> @@ -130,7 +130,7 @@
> int notify_change(struct dentry * dentry, struct iattr * attr)
> {
> struct inode *inode = dentry->d_inode;
> - mode_t mode = inode->i_mode;
> + mode_t mode;
> int error;
> struct timespec now = CURRENT_TIME;
> unsigned int ia_valid = attr->ia_valid;
> @@ -138,6 +138,7 @@
> if (!inode)
> BUG();
>
> + mode = inode->i_mode;
> attr->ia_ctime = now;
> if (!(ia_valid & ATTR_ATIME_SET))
> attr->ia_atime = now;
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/