Date: Thu, 15 Jul 2004 13:21:09 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_descrip.c Message-ID: <Pine.NEB.3.96L.1040715131957.67360D-100000@fledge.watson.org> In-Reply-To: <20040715170320.GF12007@darkness.comp.waw.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 15 Jul 2004, Pawel Jakub Dawidek wrote: > On Wed, Jul 14, 2004 at 07:04:31PM +0000, Christian S.J. Peron wrote: > +> csjp 2004-07-14 19:04:31 UTC > +> > +> FreeBSD src repository > +> > +> Modified files: > +> sys/kern kern_descrip.c > +> Log: > +> In addition to the real user ID check, do an explicit jail > +> check to ensure that the caller is not prison root. > +> > +> The intention is to fix file descriptor creation so that > +> prison root can not use the last remaining file descriptors. > +> This privilege should be reserved for non-jailed root users. > [...] > +> fp = uma_zalloc(file_zone, M_WAITOK | M_ZERO); > +> sx_xlock(&filelist_lock); > +> - if ((nfiles >= maxuserfiles && td->td_ucred->cr_ruid != 0) > +> - || nfiles >= maxfiles) { > +> + if ((nfiles >= maxuserfiles && (td->td_ucred->cr_ruid != 0 || > +> + jailed(td->td_ucred))) || nfiles >= maxfiles) { > +> if (ppsratecheck(&lastfail, &curfail, 1)) { > +> printf("kern.maxfiles limit exceeded by uid %i, please see tuning(7).\n", > +> td->td_ucred->cr_ruid); > > Could we change 'td->td_ucred->cr_ruid != 0 || jailed(td->td_ucred)' to > 'suser(td) != 0'? No, because suser(td) checks the effective uid, not the real uid. Which is the reason I asked him to change it to that before committing, and why Colin had to back out his commit also :-). Colin is preparing patches to add a flag to suser_cred() to allow the caller to say they care about the real uid. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040715131957.67360D-100000>