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.
Product status
f948d6d8b792bb90041edc12eac35faf83030994 (git) before 01bb96ad38089f5cc6de7746dac13437d35eb1dc
f948d6d8b792bb90041edc12eac35faf83030994 (git) before 3fb210cd521c9efcb211e9f5ce40fc907200bf13
f948d6d8b792bb90041edc12eac35faf83030994 (git) before be86241bf5d1efd16d8a7231c13b33459c5d755d
f948d6d8b792bb90041edc12eac35faf83030994 (git) before c403c81b577a67fe9ec6a2e89d143256487be50f
f948d6d8b792bb90041edc12eac35faf83030994 (git) before a9515ff4fb142b690a0d2b58782b15903b990dba
4.15
Any version before 4.15
5.15.132 (semver)
6.1.53 (semver)
6.4.16 (semver)
6.5.3 (semver)
6.6 (original_commit_for_fix)
References
git.kernel.org/...c/01bb96ad38089f5cc6de7746dac13437d35eb1dc
git.kernel.org/...c/3fb210cd521c9efcb211e9f5ce40fc907200bf13
git.kernel.org/...c/be86241bf5d1efd16d8a7231c13b33459c5d755d
git.kernel.org/...c/c403c81b577a67fe9ec6a2e89d143256487be50f
git.kernel.org/...c/a9515ff4fb142b690a0d2b58782b15903b990dba