Re: sysv_ipc.c broken in v1.30 (was Re: sysvshm appearse broken in -current)

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Sat, 16 Dec 2006 11:25:55 +0000 (GMT)
On Sat, 16 Dec 2006, Andrey Chernov wrote:

> The only place where EACCES may come is ipcperm() which was significally 
> touched last time at:
>
> revision 1.30
> date: 2006/11/06 13:42:01;  author: rwatson;  state: Exp;  lines: +65 -37
> Sweep kernel replacing suser(9) calls with priv(9) calls, assigning
> specific privilege names to a broad range of privileges.  These may
> require some future tweaking.
>
> Sponsored by:           nCircle Network Security, Inc.
> Obtained from:          TrustedBSD Project
> Discussed on:           arch_at_
> Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
>                        Alex Lyashkov <umka at sevcity dot net>,
>                        Skip Ford <skip dot ford at verizon dot net>,
>                        Antoine Brodin <antoine dot brodin at laposte dot net>

Yes, you can find the details in kern/106078.

The thrust of the problem is that applications apparently pass access mode 
arguments to shmget() in situations other than file creation, which isn't 
documented in the spec.  I've been doing a bit of on-and-off research on this, 
but need to do some more before I'm ready to change our implementation to 
simply ignore the argument.  I hope to look at it again this week sometime; 
it's unclear to me what applications are trying to accomplish with the mode 
field in the non-IPC_CREAT case, and none of the man pages and documentation 
I've found on various UNIX systems to date suggest anything in particular.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
>
> On Sat, Dec 16, 2006 at 08:59:03AM +0300, Andrey Chernov wrote:
>> It seems shm is broken in very recent -current.
>> Trying to build dkim-milter or dk-milter port (from root, of course) I
>> got:
>>
>> ./t-shm
>> shmget: Permission denied
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> shminit failed: Permission denied
>> 1..bad! t-shm.c:260 r == 0
>> add -DSM_CONF_SHM=0 to confENVDEF in devtools/Site/site.config.m4
>> and start over.
>> 0 of 1 tests completed successfully
>> *** 1 error in test! ***
>> 2..bad! t-shm.c:177 cnt <= MAX_CNT
>> add -DSM_CONF_SHM=0 to confENVDEF in devtools/Site/site.config.m4
>> and start over.
>> 4 of 5 tests completed successfully
>> *** 1 error in test! ***
>
>
> -- 
> http://ache.pp.ru/
>
Received on Sat Dec 16 2006 - 10:25:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:04 UTC