On Mon, Mar 11, 2024 at 10:03:35PM +0100, Pavel Machek wrote:
Hi!
From: Kees Cook keescook@chromium.org
[ Upstream commit 40b9385dd8e6a0515e1c9cd06a277483556b7286 ]
FORTIFY_SOURCE has been ignoring 0-sized destinations while the kernel code base has been converted to flexible arrays. In order to enforce the 0-sized destinations (e.g. with __counted_by), the remaining 0-sized destinations need to be handled. Unfortunately, struct vic_provinfo resists full conversion, as it contains a flexible array of flexible arrays, which is only possible with the 0-sized fake flexible array.
Use unsafe_memcpy() to avoid future false positives under CONFIG_FORTIFY_SOURCE.
This prepares for future chagnes, but I don't believe we'll port them to stable.
Dropped, thanks.