История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Не знаю, где хранятся теги, но доступ к ним (и, вероятно, в обход них) наверняка делается специальными инструкциями, и в memcpy/memmove должны использоваться именно они. Правда, я не могу так сразу придумать, что будет, если, например, memcpy cкопирует половину float в другой float (можно придумать и другие приколы - пол-указателя, например).
Судя по тому, что чуваки пишут «поддержка тегированной памяти пока что для тестовых целей» — ничего страшного не случится.
The implementation of tagged memory presented here provides only basic support by extending on-chip caches to hold tags and by adding a tag cache. Instruction set support is provided for testing in the form of load and store tag (ltag, stag) instructions. Future releases will add hardware support for particular security policies (e.g. generating an exception upon modifying data tagged as read-only) and Linux kernel support.
Исходная версия
kirk_johnson,
:
Не знаю, где хранятся теги, но доступ к ним (и, вероятно, в обход них) наверняка делается специальными инструкциями, и в memcpy/memmove должны использоваться именно они. Правда, я не могу так сразу придумать, что будет, если, например, memcpy cкопирует половину float в другой float (можно придумать и другие приколы - пол-указателя, например).
Судя по тому, что чуваки пишут «поддержка тегированной памяти пока что для тестовых целей» — ничего страшного не случится.