HomeFreeBSD

posixshm: fix setting of shm_flags

Description

posixshm: fix setting of shm_flags

Noted in D24652, we currently set shmfd->shm_flags on every
shm_open()/shm_open2(). This wasn't properly thought out; one shouldn't be
able to specify incompatible flags on subsequent opens of non-anon shm.

Move setting of shm_flags explicitly to the two places shmfd are created, as
we do with seals, and validate when we're opening a pre-existing mapping
that we've either passed no flags or we've passed the exact same flags as
the first time.

Reviewed by: kib, markj
Differential Revision: https://reviews.freebsd.org/D26242

Details

Provenance
kevansAuthored on
Reviewer
kib
Differential Revision
D26242: posixshm: fix setting of shm_flags
Parents
rS364989: jedec_dimm: fix array overrun
Branches
Unknown
Tags
Unknown