×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
When you manipulate a SLS pointer (add/subtract/etc) there are checks within the system to ensure that the new pointer value still addresses a location within the object initially addressed by the pointer. You cannot simply assign a pointer value arbitrarily and you cannot arbitrarily access storage of another job (unless of course that job gave you a pointer to the job).
There is no tagging to indicate that the pointer is shared across jobs. There are tags to indicate that the value is a valid pointer -- tags that get turned off if you try to work with the pointer with just normal data manipulation instructions.
Yes, program B in job B can write to the storage of job A if job A gives job B addressibility (a pointer to its storage).
Bruce
David Gibbs <david@xxxxxxxxxxxx> wrote:
Rory Hewitt wrote:
The user space *doesn't* know that it's a pointer - as you pointed out, it's
up to the programs that reference that data to specify that it's a pointer.
However, the difference between a user space and a data area/data queue etc.
is that you *can* *technically* store a pointer inside a user space, because
the user space can also store the tags etc.
Before I put this completely to bed ... since I can send a pointer to
another job in a user space ... is there some way the system protects
itself from a pointer in a job being set to an arbitrary location (that
may actually exist in another job)?
When a pointer is passed via a user space, is it tagged in some way to
indicate that the memory location is explicitly being shared?
One other thing ... when you do pass a pointer from one job to another
via user space, is the memory the pointer refers to as writable as any
other memory? So, could program A pass a pointer to space in it's job
to program B, and program B could then overwrite storage in program A's job?
david
As an Amazon Associate we earn from qualifying purchases.