Subject: Re: kern/25118: semop() fails with EINVAL even when SEMUME is increased
To: None <steven@qcr.com>
From: Simon Burge <simonb@wasabisystems.com>
List: netbsd-bugs
Date: 04/10/2004 13:44:32
Allen Briggs wrote:

> This does not appear to be the entire story, but I've not looked
> much at this code before.  There appears to still be some dependence
> on SEMUSZ in SEMU(ix), which are defined as
> 
> #define SEMU(ix)        ((struct sem_undo *)(((long)semu)+ix * SEMUSZ))
> #define SEMUSZ  (sizeof(struct sem_undo)+sizeof(struct undo)*SEMUME)
> 
> I think there may also be some handling of the "undo structure
> pool" when the # of undos is dynamically increased by changing
> seminfo.semume.

It appears that seminfo.semume isn't changable (unless you mean changing
it with say gdb --write).  I think the original patch in the PR has the
right effect otherwise.  That said, it looks like changing SEMU to use
seminfo.semume instead of SEMUME would be a good idea.

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD Support and Service:         http://www.wasabisystems.com/