Description
In the Linux kernel, the following vulnerability has been resolved: of: unittest: fix use-after-free in of_unittest_changeset() The variable 'parent' is assigned the value of 'nchangeset' earlier in the function, meaning both point to the same struct device_node. The call to of_node_put(nchangeset) can decrement the reference count to zero and free the node if there are no other holders. After that, the code still uses 'parent' to check for the presence of a property and to read a string property, leading to a use-after-free. Fix this by moving the of_node_put() call after the last access to 'parent', avoiding the UAF.
Product status
1c668ea65506e67ce2eae07b69bb09fcdd86e309 (git) before 37318d1a27c9cc5a70d3cd7e49e30ec86f2b8ca1
1c668ea65506e67ce2eae07b69bb09fcdd86e309 (git) before 7f0f0926f3010b10cff5e93446258f971e42f2fd
1c668ea65506e67ce2eae07b69bb09fcdd86e309 (git) before 6fdad20b7975bdc32e85b45f8f7c640f6687b81f
1c668ea65506e67ce2eae07b69bb09fcdd86e309 (git) before faecdd423c27f0d6090156a435ba9dbbac0eaddb
6.12
Any version before 6.12
6.12.86 (semver)
6.18.27 (semver)
7.0.4 (semver)
7.1-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/37318d1a27c9cc5a70d3cd7e49e30ec86f2b8ca1
git.kernel.org/...c/7f0f0926f3010b10cff5e93446258f971e42f2fd
git.kernel.org/...c/6fdad20b7975bdc32e85b45f8f7c640f6687b81f
git.kernel.org/...c/faecdd423c27f0d6090156a435ba9dbbac0eaddb