A PRIV_* flag for /dev/mem?

Jamie Gritton jamie at FreeBSD.org
Sun Jun 16 15:21:12 UTC 2013


On 06/16/13 00:20, Konstantin Belousov wrote:
> On Sat, Jun 15, 2013 at 05:23:50PM -0600, Jamie Gritton wrote:
>> Index: sys/dev/mem/memdev.c
>> ===================================================================
>> --- sys/dev/mem/memdev.c	(revision 251793)
>> +++ sys/dev/mem/memdev.c	(working copy)
>> @@ -67,8 +67,14 @@
>>   {
>>   	int error = 0;
>>
>> -	if (flags&  FWRITE)
>> -		error = securelevel_gt(td->td_ucred, 0);
>> +	if (flags&  FREAD)
>> +		error = priv_check(td, PRIV_KMEM_READ);
>> +	if (flags&  FWRITE) {
>> +		if (error != 0)
>> +			error = priv_check(td, PRIV_KMEM_WRITE);
>> +		if (error != 0)
> Shouldn't this be 'if (error == 0)' ?

Indeed it should. None of this has even been compiled yet, let alone
tested - still in the thought phase.

- Jamie


More information about the freebsd-current mailing list