forked from Minki/linux
intel_th: msu: Use memset_startat() for clearing hw header
In preparation for FORTIFY_SOURCE performing compile-time and run-time field bounds checking for memset(), avoid intentionally writing across neighboring fields. Use memset_startat() so memset() doesn't get confused about writing beyond the destination member that is intended to be the starting point of zeroing through the end of the struct. Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Link: https://lore.kernel.org/lkml/87sfyzi97l.fsf@ashishki-desk.ger.corp.intel.com Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
parent
73ab4a3509
commit
9ed0a59c0c
@ -658,13 +658,11 @@ static void msc_buffer_clear_hw_header(struct msc *msc)
|
||||
|
||||
list_for_each_entry(win, &msc->win_list, entry) {
|
||||
unsigned int blk;
|
||||
size_t hw_sz = sizeof(struct msc_block_desc) -
|
||||
offsetof(struct msc_block_desc, hw_tag);
|
||||
|
||||
for_each_sg(win->sgt->sgl, sg, win->nr_segs, blk) {
|
||||
struct msc_block_desc *bdesc = sg_virt(sg);
|
||||
|
||||
memset(&bdesc->hw_tag, 0, hw_sz);
|
||||
memset_startat(bdesc, 0, hw_tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user