[illumos-Developer] Assert on mountd.c

Marcelo Leal sunos.x86 at gmail.com
Thu Jun 30 11:52:34 PDT 2011


Thanks again!
If you need help on this, i will do the best to help!

 Leal

[ http://www.eall.com.br/blog ]
-------=- pOSix rules -=-------



2011/6/30 Eric Schrock <eric.schrock at delphix.com>:
> Yes, it's on the list of things to push upstream.  We're both trying to be
> proactive about pushing changes and make our current repository available as
> a whole.  I'll ping George and try to get the process on this one
> jumpstarted.
> Apologies for the inconvenience,
>
> - Eric
>
> On Thu, Jun 30, 2011 at 1:09 PM, Marcelo Leal <sunos.x86 at gmail.com> wrote:
>>
>>  Thanks Eric!
>>
>>  How can we fix that for the communjity branch? Looking at the old
>> code would be a matter of remove this assert. But seems like there is
>> a failure path (what i think should return "permission denied").
>>  I don't know what is the proccess to integrate on illumos, but seems
>> like people are asking for reviews here on the mailing list?
>>  Could you post the patch or something?
>>  Thanks again!
>>
>>  Leal
>>
>> [ http://www.eall.com.br/blog ]
>> -------=- pOSix rules -=-------
>>
>>
>>
>> 2011/6/30 Eric Schrock <eric.schrock at delphix.com>:
>> > Yes, it's a bug.  This is something George fixed in our illumos branch;
>> > we're working on making those changes available.  Our change did not
>> > remove
>> > the assert (which is valid), but causes us to fall through the failure
>> > path
>> > (which resolve by address) if __netdir_getbyaddr_nosrv() succeeds but
>> > returns a NULL server.
>> > - Eric
>> >
>> > On Thu, Jun 30, 2011 at 11:40 AM, Marcelo Leal <sunos.x86 at gmail.com>
>> > wrote:
>> >>
>> >> Hello there,
>> >>  Doing some tests with the NFS server, i was using a environment
>> >> without DNS or reverse names. So i did see the old /core.mountd.xxxx
>> >> files being created.
>> >>  Looking at the ::status of that core files i have saw the following:
>> >>
>> >> # mdb /core.mountd.1309217945
>> >> Loading modules: [ libc.so.1 libuutil.so.1 ld.so.1 ]
>> >> > ::status
>> >> debugging core file of mountd (32-bit) from hm5699
>> >> file: /usr/lib/nfs/mountd
>> >> initial argv: /usr/lib/nfs/mountd
>> >> threading model: native threads
>> >> status: process terminated by SIGABRT (Abort), pid=7145 uid=0 code=-1
>> >> panic message: Assertion failed: *serv != NULL, file mountd.c, line 762
>> >>
>> >> That 762 line is on the "getclientsnames_common" routine (that was
>> >> separated from the "getclientsnames"). This new generic function has
>> >> an:
>> >>
>> >>  assert(*serv != NULL);
>> >>
>> >> before returning 0. As i said, the old code has no assertion on it,
>> >> and i think that old implementation was "right". Because there is a
>> >> possibility of a system not be able to resolve a name
>> >> from the IP address using a set of name services, and as the NFSv3
>> >> protocol requires for the NLM protocol, denies the mount request. But
>> >> the problem is the abort of the process, what causes a DoS on the NFS
>> >> services.
>> >>  IIRC we had a discussion on OSOL mailing lists about even change this
>> >> behaviour on *solaris servers to no obligate a system to have a
>> >> reverse DNS entry. I don't remember what was the end of this
>> >> discussion...
>> >>  So, am i missing something, or we need to remove this assert?
>> >>
>> >>  Thanks a lot for your time!
>> >>
>> >>
>> >>  Leal
>> >> [ http://www.eall.com.br/blog ]
>> >> -------=- pOSix rules -=-------
>> >>
>> >> _______________________________________________
>> >> Developer mailing list
>> >> Developer at lists.illumos.org
>> >> http://lists.illumos.org/m/listinfo/developer
>> >
>> >
>> >
>> > --
>> > Eric Schrock
>> > Delphix
>> > 275 Middlefield Road, Suite 50
>> > Menlo Park, CA 94025
>> > http://www.delphix.com
>> >
>
>
>
> --
> Eric Schrock
> Delphix
> 275 Middlefield Road, Suite 50
> Menlo Park, CA 94025
> http://www.delphix.com
>



More information about the Developer mailing list