Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - I index

CONFIG_INIT_STACK_ALL_PATTERN: pattern-init everything (strongest)

General informations

The Linux kernel configuration item CONFIG_INIT_STACK_ALL_PATTERN has multiple definitions:

pattern-init everything (strongest) found in security/Kconfig.hardening

The configuration item CONFIG_INIT_STACK_ALL_PATTERN:

Help text

Initializes everything on the stack (including padding) with a specific debug value. This is intended to eliminate all classes of uninitialized stack variable exploits and information exposures, even variables that were warned about having been left uninitialized.

Pattern initialization is known to provoke many existing bugs related to uninitialized locals, e.g. pointers receive non-NULL values, buffer sizes and indices are very big. The pattern is situation-specific; Clang on 64-bit uses 0xAA repeating for all types and padding except float and double which use 0xFF repeating (-NaN). Clang on 32-bit uses 0xFF repeating for all types and padding.

0xAA-init everything on the stack (strongest) found in security/Kconfig.hardening

The configuration item CONFIG_INIT_STACK_ALL_PATTERN:

Help text

Initializes everything on the stack with a 0xAA pattern. This is intended to eliminate all classes of uninitialized stack variable exploits and information exposures, even variables that were warned to have been left uninitialized.

Pattern initialization is known to provoke many existing bugs related to uninitialized locals, e.g. pointers receive non-NULL values, buffer sizes and indices are very big.

Hardware

LKDDb

Raw data from LKDDb:

Sources

This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).

The data is retrived from:

Automatic links from Google (and ads)

Custom Search

Popular queries:

Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - I index

Automatically generated (in year 2024). See also LKDDb sources on GitLab