Date: Tue, 19 Nov 2002 21:27:16 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: tjr@FreeBSD.ORG Cc: kris@obsecurity.org, current@FreeBSD.ORG Subject: Re: Device permissions with DEVFS Message-ID: <20021119.212716.23011355.imp@bsdimp.com> In-Reply-To: <20021119174652.A74461@dilbert.robbins.dropbear.id.au> References: <20021119050304.GA2608@rot13.obsecurity.org> <20021119174652.A74461@dilbert.robbins.dropbear.id.au>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20021119174652.A74461@dilbert.robbins.dropbear.id.au>
Tim Robbins <tjr@FreeBSD.ORG> writes:
: I'm glad you brought this up... I'd like to see /dev/devctl made mode 600
: instead of 644 because it does not look very robust and because only one
: devctl can be open at a time.
644 is the right permissions to use. I'd strongly oppose any attempt
to change that. devctl will likely grow the ability to be cloned
soon.
: The two other security/reliability bugs I can see are that the async
: (ioctl FIOASYNC) and non-blocking (ioctl FIONBIO) flags are not cleared
: between when one process closes the device and another opens it. Leaving
: the non-blocking flag set confuses devd(8) causing it to exit immediately.
Good point. that's good.
: It looks like there are some races involving devsoftc, the softc mutex
: should probably be locked around checking the inuse flag in devopen(),
: around clearing it in devclose(), around setting async and async_td in
: devioctl() FIOASYNC case, around checking inuse and async_td in
: devaddq().
I don't think that these are an issue. You never need to lock a
mutext just to check a bit. I'm not sure that there's a real race
here that matters if you lose or win. Those are atomic operations...
Warner
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021119.212716.23011355.imp>
