Push/Pull
Bryan Ford
baford@schirf.cs.utah.edu
Tue, 06 Dec 94 12:36:25 MST
>The catch is permissions. If permissions are defined by the OS
>architecture as implemented at page granularity, then a problem arises
>in a segment shared across processors with different page sizes. Per
>our previous discussion, there are bad ambiguities about what to do.
I think I may be unclear on what exactly you mean by "permissions".
In your definition, does "permissions" mean the parts of a memory
object that can be read or written, given a particular memory object
capability? Or is it something to do with how a memory object is
mapped in virtual memory, e.g. the access rights given to mapped pages?
If it's the former, then I guess I've been pretty much assuming all along
that permissions generally apply at the memory object granularity.
if you have a read capability to memory object A, then you can read
_all_ of that memory object; if you've got a read-write capability
to it, you can read and write _all_ of it.
Of course, the implementor of the memory object can always implement
finer-grained permissions by failing requests to read/write/push/pull data
from/to certain parts of the memory object. But my general intention has
been that this generally wouldn't be done - all "protection" at finer
granularity than memory objects are merely a mechanism for implementing
efficient cache coherency protocols, and aren't used for security.
Bryan