Использование доступных байтов на Linux странице структуры ядра - PullRequest
1 голос
/ 18 января 2020

Я смотрю на определение struct page в файле linux/mm_types.h. Мой вопрос касается комментария в верхней части определения:

struct page {
    unsigned long flags;        /* Atomic flags, some possibly
                                 * updated asynchronously */
    /*
     * Five words (20/40 bytes) are available in this union.
     * WARNING: bit 0 of the first word is used for PageTail(). That
     * means the other users of this union MUST NOT use the bit to
     * avoid collision and false-positive PageTail().
     */

Если я хочу использовать эти 20 байтов для хранения метаданных о странице, как мне это сделать? Что-нибудь, что мне нужно было бы проверить перед перезаписью этих адресов, чтобы я не повредил никакие действительные данные, которые должны были там быть?

...