[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1899516.1582296185@warthog.procyon.org.uk>
Date: Fri, 21 Feb 2020 14:43:05 +0000
From: David Howells <dhowells@...hat.com>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: dhowells@...hat.com, viro@...iv.linux.org.uk, raven@...maw.net,
mszeredi@...hat.com, christian@...uner.io,
linux-api@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 18/19] ext4: Add example fsinfo information [ver #16]
Darrick J. Wong <darrick.wong@...cle.com> wrote:
> > + memcpy(ctx->buffer, es->s_volume_name, sizeof(es->s_volume_name));
>
> Shouldn't this be checking that ctx->buffer is large enough to hold
> s_volume_name?
Well, the buffer is guaranteed to be 4KiB in size.
> > + return strlen(ctx->buffer);
>
> s_volume_name is /not/ a null-terminated string if the label is 16
> characters long.
And the buffer is precleared, so it's automatically NULL terminated.
> > +#define FSINFO_ATTR_EXT4_TIMESTAMPS 0x400 /* Ext4 superblock timestamps */
>
> I guess each filesystem gets ... 256 different attrs, and the third
> nibble determines the namespace?
No. Think of it as allocating namespace in 256-number blocks. That means
there are 16 million of them. If a filesystem uses up an entire block, it can
always allocate another one. I don't think it likely that we'll get
sufficient filesystems to eat them all.
David
Powered by blists - more mailing lists