Hello,

     thanks for the comments.

> I would suggest adding your analysis (i.e., the Evaluation section of  
> the bug report) to code reviews you sent out to OpenSolaris. It
> helps understand why you  made changes.

     Ok, here is my evaluation as is in the bug report:

-------------
In /onnv-clone/usr/src/cmd/fs.d/nfs/mount/mount.c, we have

   1384 static struct netbuf *
   1385 get_the_addr(char *hostname, ulong_t prog, ulong_t vers,
...
   1388 {
...
   1495   if ((get_pubfh == TRUE) && (vers != NFS_V4)) {
...
   1575     if (vers == NFS_VERSION) {
...
   1596     } else {
   1597         WNL_LOOKUP3args arg;
   1598         WNL_LOOKUP3res res;
...
   1615         fh3p->fh3_length =
   1616           res.WNL_LOOKUP3res_u.res_ok.object.data.data_len;
   1617         memcpy(fh3p->fh3_u.data,
   1618             &res.WNL_LOOKUP3res_u.res_ok.object.data.data_val,
   1619             fh3p->fh3_length);
...

The & at the beginning of 1618 doesn't seem right: the struct is defined as

struct wnl_fh3 {
        struct {
                u_int data_len;
                char *data_val;
        } data;
};

The bug is not reproducible on 10, which makes perfect sense, since we don't
have the '&' in s10 source.
-------------

> I have some questions:
>
> 1) What is the root cause here?

     The root cause is a typo that had been done while preparing the
Nevada version of the fix for 6710019.

> Not this line of code, but why was this line of code changed
> in Nevada and not S10?

     This line has been changed both in Nevada and S10, but this typo
has been done only in Nevada.

> Or was S10 somehow fixed earlier?
> If so, then something is broken because the fix should have occurred in  
> Nevada first.

     The fix came into Nevada at the end of September and the S10 fix
had been put back in November.  I can only speculate why the typo is
present in Nevada and not in S10---a reasonable scenario is that the
S10 fix had been prepared in order to resolve a customer escalation,
then the Nevada fix was prepared (including the typo) and put back,
and after the soak period the original S10 fix was put back.

> 2) Why does the client have to be snv_100 or greater?

     Because this is when the fix for 6710019 was integrated.

> Thanks,
> Tom

     Thanks

     Petr

Reply via email to