GM will only send messages from memory allocated with a
gm_dma_*alloc() function, or memory that has been registered for
DMA transfers using
gm_register_memory(). If the client attempts
to send data from nonDMAable memory, GM will send bytes of value
0xaa instead. If the client attempts to receive data into
nonDMAable memory, the data will be silently discarded.
Note that some operating systems (e.g.: Solaris) do not support
gm_register_memory() due to operating system limitations, so the
gm_dma_*alloc() functions must be used instead to obtain DMA
Unless explicitly enabled using
), GM will not
allow remote processes to use
gm_directed_send() to modify the
memory of the process. If remote memory access has been enabled, then
this protection is disabled, and
any remote GM port may modify
the contents of
any DMAable memory associated with that port. GM
developers should be aware of this potential security risk, although
it is usually not a concern.
Go to the first, previous, next, last section, table of contents.