lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 16 Apr 2015 02:15:45 -0400
From:	Theodore Ts'o <tytso@....edu>
To:	Dan Carpenter <dan.carpenter@...cle.com>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: ext4 crypto: enforce context consistency

On Wed, Apr 15, 2015 at 10:10:07PM +0300, Dan Carpenter wrote:
> Hello Theodore Ts'o,
> 
> The patch faac02be2843: "ext4 crypto: enforce context consistency"
> from Apr 12, 2015, leads to the following static checker warning:
> 
> 	fs/ext4/namei.c:1646 ext4_lookup()
> 	error: 'inode' dereferencing possible ERR_PTR()
> 
> fs/ext4/namei.c
>   1638                  inode = ext4_iget_normal(dir->i_sb, ino);
>   1639                  if (inode == ERR_PTR(-ESTALE)) {
> 
> We normally check ext4_iget() against -ESTALE, but then we changed this
> to ext4_iget_normal() which returns several error values.

Thanks for pointing that out.  That's not quite what had happened.  We
were using ext4_iget_normal() before (and both ext4_iget() and
ext4_iget_normal() can return multiple error values), but before we
fell out to the bottof of the function where we called
d_splice_alias() which would take care of ERR_PTR versions of inode.

We added some additional code between the ext4_iget_normal() and the
d_splice_alias() lines, which is what introduced the problem.

I'll take care of fixing it.

Cheers,

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ