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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080813162029.GA24053@fieldses.org>
Date:	Wed, 13 Aug 2008 12:20:29 -0400
From:	"J. Bruce Fields" <bfields@...ldses.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Al Viro <viro@...IV.linux.org.uk>,
	OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>,
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC] readdir mess

On Tue, Aug 12, 2008 at 03:04:05PM -0700, Linus Torvalds wrote:
> 
> 
> On Tue, 12 Aug 2008, Al Viro wrote:
> 
> > On Tue, Aug 12, 2008 at 02:24:04PM -0700, Linus Torvalds wrote:
> > > 
> > > You'd truncate the inode number. What's the big deal? Inode numbers aren't 
> > > that important - they're just about the _least_ important part of the data 
> > > returned for a readdir. 
> > 
> > Tell that to tar(1) ;-)
> 
> The thing is, you still have the low 32 (or 16) bits, so even tar is 
> better off most of the time. 
> 
> Let's face it, we actually always truncate things as-is. What are inode 
> numbers on NFS but truncated file handles? 

The server returns the inode number to the client as part of the file
attributes, and that's what the client reports as the inode number.  So,
no, the client doesn't try to fake up an inode number by truncating or
hashing the filehandle somehow, if that's what you mean.  Maybe I'm
missing your point....

--b.

> 
> And the other side of the coin is that legacy binaries are almost never 
> _system_ binaries. You upgrade those with your system They are some odd 
> special-purpose thing.
> 
> > Anyway, the point for getdents() is simply that we *do* return an error; it's
> > just that it ends up with -EINVAL instead of -EOVERFLOW, and that's simply
> > bogus - we should either truncate silently or return the right value.  The
> > code definitely intends to do the latter and fucks up.
> 
> I agree. However, the reason it f*cks up is exactly the fact that we have 
> two different error numbers, which was why I suggested that if we really 
> want to fix this problem and are talking about cleaning things up, then 
> _that_ should be our primary place to look at.
> 
> Yes, it implies fixing and checking a lot of low-level filesystems. I 
> agree. It's easier to just leave it be. 
> 
> 			Linus
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ