mountd segfaults in NFSv4 if -alldirs is present in exports

Rick Macklem rmacklem at uoguelph.ca
Fri Feb 19 16:12:55 UTC 2010



On Fri, 19 Feb 2010, George Mamalakis wrote:

> Hi all,
>
> the title explains it all...
>
> But ok, let's be a bit more extensive.
>
> If I have one line in /etc/exports reading:
>
> V4:  /  -alldirs
>
> and try to start mountd, it segfaults with signal 11. From the manpage I read 
> that -alldirs is the "second method" used to export a filesystem and V4 is 
> the "third", maybe implying that they are mutually exclusive. Nevertheless, I 
> suppose that mountd shouldn't segfault in my case, it could just refuse to 
> start giving an error message or something. I've tried a different 
> /etc/exports containing a dummy option -dummy instead of -alldirs and mountd 
> won't segfault, hence there's no problem with its parser.
>
The "V4:" line does not export a file system. It only specifies where
the "root" is for NFSv4 and what clients/security flavours are supported
for the NFSv4 lock state Ops that aren't associated with any file handle
is. (There can be multiple V4: lines for different hosts, but they should
differ in their "-sec" specification and only that.) The file systems
must still be exported by separate lines, just like NFSv2,3.

It happens that "-alldirs" always applies to NFSv4, since it does
not use the Mount protocol and can mount anything under the "root"
that has been exported.

As such, "-sec" plus the ones related to specifying host(s)
"-network, -mask" are the only ones that should be in the "V4:"
line(s).

But, of course it shouldn't segfault. I'll put that on my to do
list.

Thanks for reporting it, rick



More information about the freebsd-stable mailing list