This gist is now deprecated in favor of our official documentation: https://documentation.portainer.io/api/api-examples/ which contains up to date examples!
Please refer to the link above to get access to our updated API documentation and examples.
es-master: | |
image: 'elasticsearch:latest' | |
command: 'elasticsearch --network.host=0.0.0.0 --node.master=true --cluster.name=escluster' | |
restart: always | |
es-develop: | |
image: 'elasticsearch:latest' | |
command: 'elasticsearch --network.host=0.0.0.0 --cluster.name=escluster --discovery.zen.ping.unicast.hosts=es-master' | |
deployment_strategy: high_availability | |
links: | |
- es-master |
This gist is now deprecated in favor of our official documentation: https://documentation.portainer.io/api/api-examples/ which contains up to date examples!
Please refer to the link above to get access to our updated API documentation and examples.
secret
byte you want to read is stored at inaccessible memory location priv_mem
.priv_mem
.secret
from priv_mem
and the use of its value in (4) and (5) below may execute before the exception is triggered.offset
into a known array probe
by multiplying secret
by the width of a cache line (or whatever block size the CPU typically fetches, like a 4096-byte page). This guarantees each of those 256 possible offsets will cache separately.probe[offset]
, which causes the CPU to cache exactly one chunk of of our array, populating one cache line.probe
to find out which one loads fast. You've determined the value of secret
.