Pull bounds fixes from Kees Cook: "These are a handful of buffer and array bounds fixes that I've been carrying in preparation for the coming memcpy improvements and the enabling of '-Warray-bounds' globally. There are additional similar fixes in other maintainer's trees, but these ended up getting carried by me. :)" * tag 'bounds-fixes-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: media: omap3isp: Use struct_group() for memcpy() region tpm: vtpm_proxy: Check length to avoid compiler warning alpha: Silence -Warray-bounds warnings m68k: cmpxchg: Dereference matching size intel_th: msu: Use memset_startat() for clearing hw header KVM: x86: Replace memset() "optimization" with normal per-field writes
Showing the changes to include/uapi (1 of 8 files). Show all
Unified · Split
| @@ -162,6 +162,7 @@ struct omap3isp_h3a_aewb_config { · 161 unmodified lines | |||
| 162 | * struct omap3isp_stat_data - Statistic data sent to or received from user | 162 | * struct omap3isp_stat_data - Statistic data sent to or received from user |
| 163 | * @ts: Timestamp of returned framestats. | 163 | * @ts: Timestamp of returned framestats. |
| 164 | * @buf: Pointer to pass to user. | 164 | * @buf: Pointer to pass to user. |
| 165 | * @buf_size: Size of buffer. | ||
| 165 | * @frame_number: Frame number of requested stats. | 166 | * @frame_number: Frame number of requested stats. |
| 166 | * @cur_frame: Current frame number being processed. | 167 | * @cur_frame: Current frame number being processed. |
| 167 | * @config_counter: Number of the configuration associated with the data. | 168 | * @config_counter: Number of the configuration associated with the data. |
| @@ -176,10 +177,12 @@ struct omap3isp_stat_data { · 8 unmodified lines | |||
| 176 | struct timeval ts; | 177 | struct timeval ts; |
| 177 | #endif | 178 | #endif |
| 178 | void __user *buf; | 179 | void __user *buf; |
| 179 | __u32 buf_size; | 180 | __struct_group(/* no tag */, frame, /* no attrs */, |
| 180 | __u16 frame_number; | 181 | __u32 buf_size; |
| 181 | __u16 cur_frame; | 182 | __u16 frame_number; |
| 182 | __u16 config_counter; | 183 | __u16 cur_frame; |
| 184 | __u16 config_counter; | ||
| 185 | ); | ||
| 183 | }; | 186 | }; |
| 184 | 187 | ||
| 185 | #ifdef __KERNEL__ | 188 | #ifdef __KERNEL__ |
| @@ -189,10 +192,12 @@ struct omap3isp_stat_data_time32 { · 3 unmodified lines | |||
| 189 | __s32 tv_usec; | 192 | __s32 tv_usec; |
| 190 | } ts; | 193 | } ts; |
| 191 | __u32 buf; | 194 | __u32 buf; |
| 192 | __u32 buf_size; | 195 | __struct_group(/* no tag */, frame, /* no attrs */, |
| 193 | __u16 frame_number; | 196 | __u32 buf_size; |
| 194 | __u16 cur_frame; | 197 | __u16 frame_number; |
| 195 | __u16 config_counter; | 198 | __u16 cur_frame; |
| 199 | __u16 config_counter; | ||
| 200 | ); | ||
| 196 | }; | 201 | }; |
| 197 | #endif | 202 | #endif |
| 198 | 203 | ||