Pull hardening updates from Kees Cook: - lib/string_choices: - Add str_up_down() helper (Michal Wajdeczko) - Add str_true_false()/str_false_true() helper (Hongbo Li) - Introduce several opposite string choice helpers (Hongbo Li) - lib/string_helpers: - rework overflow-dependent code (Justin Stitt) - fortify: refactor test_fortify Makefile to fix some build problems (Masahiro Yamada) - string: Check for "nonstring" attribute on strscpy() arguments - virt: vbox: Replace 1-element arrays with flexible arrays - media: venus: hfi_cmds: Replace 1-element arrays with flexible arrays * tag 'hardening-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: lib/string_choices: Add some comments to make more clear for string choices helpers. lib/string_choices: Introduce several opposite string choice helpers lib/string_choices: Add str_true_false()/str_false_true() helper string: Check for "nonstring" attribute on strscpy() arguments media: venus: hfi_cmds: struct hfi_session_release_buffer_pkt: Add __counted_by annotation media: venus: hfi_cmds: struct hfi_session_release_buffer_pkt: Replace 1-element array with flexible array virt: vbox: struct vmmdev_hgcm_pagelist: Replace 1-element array with flexible array lib/string_helpers: rework overflow-dependent code coccinelle: Add rules to find str_down_up() replacements string_choices: Add wrapper for str_down_up() coccinelle: Add rules to find str_up_down() replacements lib/string_choices: Add str_up_down() helper fortify: use if_changed_dep to record header dependency in *.cmd files fortify: move test_fortify.sh to lib/test_fortify/ fortify: refactor test_fortify Makefile to fix some build problems
Showing the changes to include/uapi/linux (1 of 15 files). Show all
Unified · Split
| @@ -282,7 +282,10 @@ struct vmmdev_hgcm_pagelist { · 281 unmodified lines | ||
| 282 | 282 | __u32 flags; /** VMMDEV_HGCM_F_PARM_*. */ |
| 283 | 283 | __u16 offset_first_page; /** Data offset in the first page. */ |
| 284 | 284 | __u16 page_count; /** Number of pages. */ |
| 285 | − __u64 pages[1]; /** Page addresses. */ | |
| 285 | + union { | |
| 286 | + __u64 unused; /** Deprecated place-holder for first "pages" entry. */ | |
| 287 | + __DECLARE_FLEX_ARRAY(__u64, pages); /** Page addresses. */ | |
| 288 | + }; | |
| 286 | 289 | }; |
| 287 | 290 | VMMDEV_ASSERT_SIZE(vmmdev_hgcm_pagelist, 4 + 2 + 2 + 8); |
| 288 | 291 | |