Thanks for the report. Fixed in r368395.

On 12/6/20, Jessica Clarke <jrt...@freebsd.org> wrote:
> Hi Mateusz,
> This looks like a behavioural change to me. Was that intended and a bug
> fix (in which case, it should have been documented in the commit
> message) or not? See below for the exact change.
>
> On 6 Dec 2020, at 04:59, Mateusz Guzik <m...@freebsd.org> wrote:
>> +static int
>> +namei_getpath(struct nameidata *ndp)
>> +{
>> +    struct componentname *cnp;
>> +    int error;
>> +
>> +    cnp = &ndp->ni_cnd;
>> +
>> +    /*
>> +     * Get a buffer for the name to be translated, and copy the
>> +     * name into the buffer.
>> +     */
>> +    cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK);
>> +    if (ndp->ni_segflg == UIO_SYSSPACE) {
>> +            error = copystr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN,
>> +                &ndp->ni_pathlen);
>> +    } else {
>> +            error = copyinstr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN,
>> +                &ndp->ni_pathlen);
>> +    }
>> +
>> +    if (__predict_false(error != 0)) {
>> +            return (error);
>
> This does not call namei_cleanup_cnp.
>
>> @@ -531,31 +568,11 @@ namei(struct nameidata *ndp)
>>      ndp->ni_lcf = 0;
>>      ndp->ni_vp = NULL;
>>
>> -    /*
>> -     * Get a buffer for the name to be translated, and copy the
>> -     * name into the buffer.
>> -     */
>> -    cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK);
>> -    if (ndp->ni_segflg == UIO_SYSSPACE)
>> -            error = copystr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN,
>> -                &ndp->ni_pathlen);
>> -    else
>> -            error = copyinstr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN,
>> -                &ndp->ni_pathlen);
>> -
>> +    error = namei_getpath(ndp);
>>      if (__predict_false(error != 0)) {
>> -            namei_cleanup_cnp(cnp);
>
> But it used to be called in that case here.
>
>>              return (error);
>>      }
>
> Jess
>
>


-- 
Mateusz Guzik <mjguzik gmail.com>
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to