leak of the vnodes

Petr Salinger Petr.Salinger at seznam.cz
Thu Apr 8 05:07:11 UTC 2010


>>>> Bellow is leaking recipe tested under GNU/kFreeBSD.
>>>> I would expect it leaks vnodes also under plain FreeBSD.
>>>>
>>>
>>> I confirm it is reproducible on plain FreeBSD. Looks like a security
>>> issue, as a normal user can create a local DoS in a few dozen of
>>> seconds.
>>
>> I already posted the following patch in private.
>
> Thanks, I confirm it fixes the problem, at least the testcase posted by
> Petr.
>
>> diff --git a/sys/kern/tty_pts.c b/sys/kern/tty_pts.c
>> index 5cfbc71..e9dac77 100644
>> --- a/sys/kern/tty_pts.c
>> +++ b/sys/kern/tty_pts.c
>> @@ -575,6 +575,9 @@ ptsdev_close(struct file *fp, struct thread *td)
>>  	tty_lock(tp);
>>  	tty_rel_gone(tp);
>>
>> +	if (fp->f_vnode != NULL)
>> +		return (vnops.fo_close(fp, td));
>> +
>>  	return (0);
>>  }



It fixes also our original issue with testsuite of gcc-4.3 under 8.0-RELEASE.

Many thanks for this patch and for your guidance during this bug hunt.

Petr


More information about the freebsd-hackers mailing list