kernel: use struct group to wipe psb6970 volatile priv data
authorAleksander Jan Bajkowski <olek2@wp.pl>
Thu, 25 May 2023 20:20:15 +0000 (22:20 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 10 Jun 2023 17:06:15 +0000 (19:06 +0200)
commit7d4868461264eefcb21a6e2d3ff6d02871d9ad5b
tree05fd5811225605b7274fe893be03b7bc927854b2
parent04ddeb85e784f76992584017acb85b08efe1f9b7
kernel: use struct group to wipe psb6970 volatile priv data

Instead of reference vlan and do strange subtraction, use the handy
struct_group() to create a virtual struct of the same size of the
members. This permits to have a more secure memset and fix compilation
warning in 6.1 where additional checks are done.

Fix compilation warning:
| inlined from 'psb6970_reset_switch' at drivers/net/phy/psb6970.c:275:2:
| ./include/linux/fortify-string.h:314:25: error: call to '__write_overflow_field'
| declared with attribute warning: detected write beyond size of field
| (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
|  314 |                         __write_overflow_field(p_size_field, size);
|      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|cc1: all warnings being treated as errors

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
(cherry picked from commit d69becd3071d560cd1c9ea655cbba26adce91f61)
target/linux/generic/files/drivers/net/phy/psb6970.c