]> Zhao Yanbai Git Server - minix.git/commit
Add sequence numbers to grant IDs 72/3272/3
authorDavid van Moolenbroek <david@minix3.org>
Mon, 28 Dec 2015 23:48:39 +0000 (23:48 +0000)
committerLionel Sambuc <lionel.sambuc@gmail.com>
Sat, 16 Jan 2016 13:04:19 +0000 (14:04 +0100)
commitca779acd72876a58c824e64e46c7bcf507cfead5
tree0484b610207ddb519a854f05a31483afe954598e
parent59f1f7ecdd212fe00e1859dc950db6397e96abad
Add sequence numbers to grant IDs

The memory grant identifier for safecopies now includes a sequence
number in its upper bits, to prevent accidental reuse of a grant ID
after revocation and subsequent reallocation.  This should increase
overall system robustness by a tiny amount, and possibly help catch
bugs in system services early on.  For now, the lower 20 bits of the
grant ID are used as grant table slot index (thus allowing for up to
a million grants per process), and the next 11 bits of the (signed
32-bit) grant ID are used to store the per-slot sequence number.  As
grant IDs are never exposed to userland, the split can be changed
later on without breaking the userland ABI.

Change-Id: Ic34be27ff2a45db0ea5db037a24eef9efcd9ca40
minix/include/minix/safecopies.h
minix/kernel/system/do_safecopy.c
minix/lib/libsys/safecopies.c