* net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
@ 2026-02-09 15:26 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-02-09 15:26 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Oleksij Rempel <o.rempel@pengutronix.de>
CC: Jakub Kicinski <kuba@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 05f7e89ab9731565d8a62e3b5d1ec206485eeb0b
commit: e6e93fb01302e9b7a15d17f3b8a00eff8a601654 ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
date: 3 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-161-20260209 (https://download.01.org/0day-ci/archive/20260209/202602092315.jlgXdXWK-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
smatch version: v0.5.0-8994-gd50c5a4c
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202602092315.jlgXdXWK-lkp@intel.com/
smatch warnings:
net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
vim +285 net/ethtool/mse.c
e6e93fb01302e9 Oleksij Rempel 2025-10-27 233
e6e93fb01302e9 Oleksij Rempel 2025-10-27 234 static int mse_fill_reply(struct sk_buff *skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 235 const struct ethnl_req_info *req_base,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 236 const struct ethnl_reply_data *reply_base)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 237 {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 238 const struct mse_reply_data *data = mse_repdata(reply_base);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 239 struct nlattr *nest;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 240 unsigned int i;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 241 int ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 242
e6e93fb01302e9 Oleksij Rempel 2025-10-27 243 nest = nla_nest_start(skb, ETHTOOL_A_MSE_CAPABILITIES);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 244 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 245 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 246
e6e93fb01302e9 Oleksij Rempel 2025-10-27 247 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 248 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 249 ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 250 data->capability.max_average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 251 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 252 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 253 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 254
e6e93fb01302e9 Oleksij Rempel 2025-10-27 255 if (data->capability.supported_caps & (PHY_MSE_CAP_PEAK |
e6e93fb01302e9 Oleksij Rempel 2025-10-27 256 PHY_MSE_CAP_WORST_PEAK)) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 257 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 258 data->capability.max_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 259 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 260 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 261 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 262
e6e93fb01302e9 Oleksij Rempel 2025-10-27 263 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 264 data->capability.refresh_rate_ps);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 265 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 266 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 267
e6e93fb01302e9 Oleksij Rempel 2025-10-27 268 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 269 data->capability.num_symbols);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 270 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 271 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 272
e6e93fb01302e9 Oleksij Rempel 2025-10-27 273 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 274
e6e93fb01302e9 Oleksij Rempel 2025-10-27 275 for (i = 0; i < data->num_snapshots; i++) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 276 const struct mse_snapshot_entry *s = &data->snapshots[i];
e6e93fb01302e9 Oleksij Rempel 2025-10-27 277 int chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 278
e6e93fb01302e9 Oleksij Rempel 2025-10-27 279 chan_attr = mse_channel_to_attr(s->channel);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 280 if (chan_attr < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 281 return chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 282
e6e93fb01302e9 Oleksij Rempel 2025-10-27 283 nest = nla_nest_start(skb, chan_attr);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 284 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 @285 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 286
e6e93fb01302e9 Oleksij Rempel 2025-10-27 287 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 288 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 289 ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 290 s->snapshot.average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 291 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 292 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 293 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 294 if (data->capability.supported_caps & PHY_MSE_CAP_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 295 ret = nla_put_uint(skb, ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 296 s->snapshot.peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 297 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 298 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 299 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 300 if (data->capability.supported_caps & PHY_MSE_CAP_WORST_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 301 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 302 ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 303 s->snapshot.worst_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 304 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 305 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 306 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 307
e6e93fb01302e9 Oleksij Rempel 2025-10-27 308 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 309 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 310
e6e93fb01302e9 Oleksij Rempel 2025-10-27 311 return 0;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 312
e6e93fb01302e9 Oleksij Rempel 2025-10-27 313 nla_put_nest_failure:
e6e93fb01302e9 Oleksij Rempel 2025-10-27 314 nla_nest_cancel(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 315 return ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 316 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 317
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
@ 2026-05-24 8:26 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-05-24 8:26 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Oleksij Rempel <o.rempel@pengutronix.de>
CC: Jakub Kicinski <kuba@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4cbfe4502e3d4bda48eb4b83dfad8d7da3b22e90
commit: e6e93fb01302e9b7a15d17f3b8a00eff8a601654 ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
date: 7 months ago
:::::: branch date: 8 hours ago
:::::: commit date: 7 months ago
config: x86_64-randconfig-161-20260523 (https://download.01.org/0day-ci/archive/20260524/202605241642.RFiYcaVG-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
smatch: v0.5.0-9185-gbcc58b9c
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: e6e93fb01302 ("ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605241642.RFiYcaVG-lkp@intel.com/
smatch warnings:
net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
vim +285 net/ethtool/mse.c
e6e93fb01302e9 Oleksij Rempel 2025-10-27 233
e6e93fb01302e9 Oleksij Rempel 2025-10-27 234 static int mse_fill_reply(struct sk_buff *skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 235 const struct ethnl_req_info *req_base,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 236 const struct ethnl_reply_data *reply_base)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 237 {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 238 const struct mse_reply_data *data = mse_repdata(reply_base);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 239 struct nlattr *nest;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 240 unsigned int i;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 241 int ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 242
e6e93fb01302e9 Oleksij Rempel 2025-10-27 243 nest = nla_nest_start(skb, ETHTOOL_A_MSE_CAPABILITIES);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 244 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 245 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 246
e6e93fb01302e9 Oleksij Rempel 2025-10-27 247 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 248 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 249 ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 250 data->capability.max_average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 251 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 252 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 253 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 254
e6e93fb01302e9 Oleksij Rempel 2025-10-27 255 if (data->capability.supported_caps & (PHY_MSE_CAP_PEAK |
e6e93fb01302e9 Oleksij Rempel 2025-10-27 256 PHY_MSE_CAP_WORST_PEAK)) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 257 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 258 data->capability.max_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 259 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 260 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 261 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 262
e6e93fb01302e9 Oleksij Rempel 2025-10-27 263 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 264 data->capability.refresh_rate_ps);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 265 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 266 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 267
e6e93fb01302e9 Oleksij Rempel 2025-10-27 268 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 269 data->capability.num_symbols);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 270 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 271 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 272
e6e93fb01302e9 Oleksij Rempel 2025-10-27 273 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 274
e6e93fb01302e9 Oleksij Rempel 2025-10-27 275 for (i = 0; i < data->num_snapshots; i++) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 276 const struct mse_snapshot_entry *s = &data->snapshots[i];
e6e93fb01302e9 Oleksij Rempel 2025-10-27 277 int chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 278
e6e93fb01302e9 Oleksij Rempel 2025-10-27 279 chan_attr = mse_channel_to_attr(s->channel);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 280 if (chan_attr < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 281 return chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 282
e6e93fb01302e9 Oleksij Rempel 2025-10-27 283 nest = nla_nest_start(skb, chan_attr);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 284 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 @285 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 286
e6e93fb01302e9 Oleksij Rempel 2025-10-27 287 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 288 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 289 ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 290 s->snapshot.average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 291 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 292 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 293 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 294 if (data->capability.supported_caps & PHY_MSE_CAP_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 295 ret = nla_put_uint(skb, ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 296 s->snapshot.peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 297 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 298 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 299 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 300 if (data->capability.supported_caps & PHY_MSE_CAP_WORST_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 301 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 302 ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 303 s->snapshot.worst_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 304 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 305 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 306 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 307
e6e93fb01302e9 Oleksij Rempel 2025-10-27 308 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 309 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 310
e6e93fb01302e9 Oleksij Rempel 2025-10-27 311 return 0;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 312
e6e93fb01302e9 Oleksij Rempel 2025-10-27 313 nla_put_nest_failure:
e6e93fb01302e9 Oleksij Rempel 2025-10-27 314 nla_nest_cancel(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 315 return ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 316 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 317
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
@ 2026-05-25 7:04 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-05-25 7:04 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Oleksij Rempel <o.rempel@pengutronix.de>
CC: Jakub Kicinski <kuba@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e7ae89a0c97ce2b68b0983cd01eda67cf373517d
commit: e6e93fb01302e9b7a15d17f3b8a00eff8a601654 ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
date: 7 months ago
:::::: branch date: 10 hours ago
:::::: commit date: 7 months ago
config: x86_64-randconfig-161-20260523 (https://download.01.org/0day-ci/archive/20260525/202605251513.JZ0L7xDS-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
smatch: v0.5.0-9185-gbcc58b9c
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: e6e93fb01302 ("ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202605251513.JZ0L7xDS-lkp@intel.com/
smatch warnings:
net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto?
vim +285 net/ethtool/mse.c
e6e93fb01302e9 Oleksij Rempel 2025-10-27 233
e6e93fb01302e9 Oleksij Rempel 2025-10-27 234 static int mse_fill_reply(struct sk_buff *skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 235 const struct ethnl_req_info *req_base,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 236 const struct ethnl_reply_data *reply_base)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 237 {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 238 const struct mse_reply_data *data = mse_repdata(reply_base);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 239 struct nlattr *nest;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 240 unsigned int i;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 241 int ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 242
e6e93fb01302e9 Oleksij Rempel 2025-10-27 243 nest = nla_nest_start(skb, ETHTOOL_A_MSE_CAPABILITIES);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 244 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 245 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 246
e6e93fb01302e9 Oleksij Rempel 2025-10-27 247 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 248 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 249 ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 250 data->capability.max_average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 251 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 252 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 253 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 254
e6e93fb01302e9 Oleksij Rempel 2025-10-27 255 if (data->capability.supported_caps & (PHY_MSE_CAP_PEAK |
e6e93fb01302e9 Oleksij Rempel 2025-10-27 256 PHY_MSE_CAP_WORST_PEAK)) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 257 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 258 data->capability.max_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 259 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 260 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 261 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 262
e6e93fb01302e9 Oleksij Rempel 2025-10-27 263 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 264 data->capability.refresh_rate_ps);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 265 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 266 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 267
e6e93fb01302e9 Oleksij Rempel 2025-10-27 268 ret = nla_put_uint(skb, ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 269 data->capability.num_symbols);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 270 if (ret < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 271 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 272
e6e93fb01302e9 Oleksij Rempel 2025-10-27 273 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 274
e6e93fb01302e9 Oleksij Rempel 2025-10-27 275 for (i = 0; i < data->num_snapshots; i++) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 276 const struct mse_snapshot_entry *s = &data->snapshots[i];
e6e93fb01302e9 Oleksij Rempel 2025-10-27 277 int chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 278
e6e93fb01302e9 Oleksij Rempel 2025-10-27 279 chan_attr = mse_channel_to_attr(s->channel);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 280 if (chan_attr < 0)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 281 return chan_attr;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 282
e6e93fb01302e9 Oleksij Rempel 2025-10-27 283 nest = nla_nest_start(skb, chan_attr);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 284 if (!nest)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 @285 return -EMSGSIZE;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 286
e6e93fb01302e9 Oleksij Rempel 2025-10-27 287 if (data->capability.supported_caps & PHY_MSE_CAP_AVG) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 288 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 289 ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 290 s->snapshot.average_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 291 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 292 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 293 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 294 if (data->capability.supported_caps & PHY_MSE_CAP_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 295 ret = nla_put_uint(skb, ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 296 s->snapshot.peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 297 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 298 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 299 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 300 if (data->capability.supported_caps & PHY_MSE_CAP_WORST_PEAK) {
e6e93fb01302e9 Oleksij Rempel 2025-10-27 301 ret = nla_put_uint(skb,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 302 ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE,
e6e93fb01302e9 Oleksij Rempel 2025-10-27 303 s->snapshot.worst_peak_mse);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 304 if (ret)
e6e93fb01302e9 Oleksij Rempel 2025-10-27 305 goto nla_put_nest_failure;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 306 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 307
e6e93fb01302e9 Oleksij Rempel 2025-10-27 308 nla_nest_end(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 309 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 310
e6e93fb01302e9 Oleksij Rempel 2025-10-27 311 return 0;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 312
e6e93fb01302e9 Oleksij Rempel 2025-10-27 313 nla_put_nest_failure:
e6e93fb01302e9 Oleksij Rempel 2025-10-27 314 nla_nest_cancel(skb, nest);
e6e93fb01302e9 Oleksij Rempel 2025-10-27 315 return ret;
e6e93fb01302e9 Oleksij Rempel 2025-10-27 316 }
e6e93fb01302e9 Oleksij Rempel 2025-10-27 317
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-25 7:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-24 8:26 net/ethtool/mse.c:285 mse_fill_reply() warn: missing unwind goto? kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-05-25 7:04 kernel test robot
2026-02-09 15:26 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.