Description
In the Linux kernel, the following vulnerability has been resolved: of: overlay: Call of_changeset_init() early When of_overlay_fdt_apply() fails, the changeset may be partially applied, and the caller is still expected to call of_overlay_remove() to clean up this partial state. However, of_overlay_apply() calls of_resolve_phandles() before init_overlay_changeset(). Hence if the overlay fails to apply due to an unresolved symbol, the overlay_changeset.cset.entries list is still uninitialized, and cleanup will crash with a NULL-pointer dereference in overlay_removal_is_ok(). Fix this by moving the call to of_changeset_init() from init_overlay_changeset() to of_overlay_fdt_apply(), where all other early initialization is done.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
f948d6d8b792bb90041edc12eac35faf83030994 to < 01bb96ad38089f5cc6de7746dac13437d35eb1dcaffectedf948d6d8b792bb90041edc12eac35faf83030994 to < 3fb210cd521c9efcb211e9f5ce40fc907200bf13affectedf948d6d8b792bb90041edc12eac35faf83030994 to < be86241bf5d1efd16d8a7231c13b33459c5d755daffectedf948d6d8b792bb90041edc12eac35faf83030994 to < c403c81b577a67fe9ec6a2e89d143256487be50faffectedf948d6d8b792bb90041edc12eac35faf83030994 to < a9515ff4fb142b690a0d2b58782b15903b990dbaaffected
Linux Linux
Default version status: affected
4.15affected0 to < 4.15unaffected5.15.132 to ≤ 5.15.*unaffected6.1.53 to ≤ 6.1.*unaffected6.4.16 to ≤ 6.4.*unaffected6.5.3 to ≤ 6.5.*unaffected6.6 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/01bb96ad38089f5cc6de7746dac13437d35eb1dc ↗
- https://git.kernel.org/stable/c/3fb210cd521c9efcb211e9f5ce40fc907200bf13 ↗
- https://git.kernel.org/stable/c/be86241bf5d1efd16d8a7231c13b33459c5d755d ↗
- https://git.kernel.org/stable/c/c403c81b577a67fe9ec6a2e89d143256487be50f ↗
- https://git.kernel.org/stable/c/a9515ff4fb142b690a0d2b58782b15903b990dba ↗