diff options
| author | Ratheesh Kannoth <rkannoth@marvell.com> | 2026-05-21 12:52:57 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-05-26 00:03:06 +0300 |
| commit | d603517771d8e08a2d8fc9e1f7682ce393d3973a (patch) | |
| tree | d897f11904b5bc3fa34638e846a9b9df7c00abcf /include/uapi/linux | |
| parent | e57516529a5bd9e228d1cd80b460fbc1c34bbea4 (diff) | |
| download | linux-d603517771d8e08a2d8fc9e1f7682ce393d3973a.tar.xz | |
devlink: pass param values by pointer
union devlink_param_value grows substantially once U64 array
parameters are added to devlink (from 32 bytes to over 264 bytes).
devlink_nl_param_value_fill_one() and devlink_nl_param_value_put()
copy the union by value in several places. Passing two instances as
value arguments alone consumes over 528 bytes of stack; combined with
deeper call chains the parameter stack can approach 800 bytes and trip
CONFIG_FRAME_WARN more easily.
Switch internal helpers and exported driver APIs to pass pointers to
union devlink_param_value rather than passing the union by value.
Reviewed-by: Petr Machata <petrm@nvidia.com> # for mlxsw
Acked-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Arthur Kiyanovski <akiyano@amazon.com> #for ena
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Link: https://patch.msgid.link/20260521095303.2395584-4-rkannoth@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/uapi/linux')
0 files changed, 0 insertions, 0 deletions
