* [PATCH pve-manager] fix #7187: report: add ethtool output for physical interfaces
@ 2026-05-08 12:40 Erik Fastermann
2026-05-12 8:34 ` Friedrich Weber
0 siblings, 1 reply; 2+ messages in thread
From: Erik Fastermann @ 2026-05-08 12:40 UTC (permalink / raw)
To: pve-devel; +Cc: Erik Fastermann
Signed-off-by: Erik Fastermann <e.fastermann@proxmox.com>
---
NOTE: A similar patch was applied to all products:
pmg, pve, pbs, pdm.
PVE/Report.pm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/PVE/Report.pm b/PVE/Report.pm
index 29433d4a..b3a5c08c 100644
--- a/PVE/Report.pm
+++ b/PVE/Report.pm
@@ -3,6 +3,7 @@ package PVE::Report;
use strict;
use warnings;
+use PVE::IPRoute2;
use PVE::Tools;
# output the content of all the files of a directory
@@ -142,6 +143,14 @@ my $init_report_cmds = sub {
},
};
+ my $interfaces = PVE::IPRoute2::ip_link_details();
+
+ for my $iface (sort keys %{$interfaces}) {
+ if (PVE::IPRoute2::ip_link_is_physical($interfaces->{$iface})) {
+ push @{ $report_def->{network}->{cmds} }, "ethtool $iface";
+ }
+ }
+
if (cmd_exists('zfs')) {
push @{ $report_def->{volumes}->{cmds} },
'zpool status',
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH pve-manager] fix #7187: report: add ethtool output for physical interfaces
2026-05-08 12:40 [PATCH pve-manager] fix #7187: report: add ethtool output for physical interfaces Erik Fastermann
@ 2026-05-12 8:34 ` Friedrich Weber
0 siblings, 0 replies; 2+ messages in thread
From: Friedrich Weber @ 2026-05-12 8:34 UTC (permalink / raw)
To: Erik Fastermann, pve-devel
Hi, thanks for tackling this! A few comments inline (note that I only
looked at the PVE patch)
On 08/05/2026 14:39, Erik Fastermann wrote:
> Signed-off-by: Erik Fastermann <e.fastermann@proxmox.com>
> ---
Please add some rationale to the commit message [1], you can derive it
from the bug #7187 for instance.
>
> NOTE: A similar patch was applied to all products:
> pmg, pve, pbs, pdm.
>
> PVE/Report.pm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/PVE/Report.pm b/PVE/Report.pm
> index 29433d4a..b3a5c08c 100644
> --- a/PVE/Report.pm
> +++ b/PVE/Report.pm
> @@ -3,6 +3,7 @@ package PVE::Report;
> use strict;
> use warnings;
>
> +use PVE::IPRoute2;
> use PVE::Tools;
>
> # output the content of all the files of a directory
> @@ -142,6 +143,14 @@ my $init_report_cmds = sub {
> },
> };
>
> + my $interfaces = PVE::IPRoute2::ip_link_details();
> +
> + for my $iface (sort keys %{$interfaces}) {
> + if (PVE::IPRoute2::ip_link_is_physical($interfaces->{$iface})) {
> + push @{ $report_def->{network}->{cmds} }, "ethtool $iface";
Everything in $report_def->{network}->{cmds} is essentially passed to
run_command, and passing strings from the outside (like $iface) to
something like run_command can be dangerous (e.g. allow command
injection). Granted, here this is the name of a physical interface, so
the risk of someone injecting something there is low, but as a
precaution I'd still apply a PVE::Tools::shellquote on $iface before
constructing the ethtool command here.
> + }
> + }
> +
I'd probably wrap the whole thing in an `eval` with a `if(@)`
afterwards, just to prevent something die'ing in `ip_link_details` or
`ip_link_is_physical` from crashing the report.
> if (cmd_exists('zfs')) {
> push @{ $report_def->{volumes}->{cmds} },
> 'zpool status',
[1]
https://pve.proxmox.com/wiki/Developer_Documentation#Commits_and_Commit_Messages
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-12 8:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-08 12:40 [PATCH pve-manager] fix #7187: report: add ethtool output for physical interfaces Erik Fastermann
2026-05-12 8:34 ` Friedrich Weber
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.