Bug#960702: ethtool -m values change when output is redirected
17 mai 2020 18:04 "Ben Hutchings" <ben@decadent.org.uk> a écrit:
> [...]
Just in case that could be usefull. We change the transceiver for an other model also known to work correctly.
root@localhost:~# ethtool -m enp10s0
Identifier : 0x03 (SFP)
Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID)
Connector : 0x07 (LC)
Transceiver codes : 0x10 0x00 0x00 0x00 0x40 0x00 0x0c 0x00 0x00
Transceiver type : 10G Ethernet: 10G Base-SR
Transceiver type : FC: short distance (S)
Transceiver type : FC: Multimode, 62.5um (M6)
Transceiver type : FC: Multimode, 50um (M5)
Encoding : 0x06 (64B/66B)
BR, Nominal : 10300MBd
Rate identifier : 0x00 (unspecified)
Length (SMF,km) : 0km
Length (SMF) : 0m
Length (50um) : 300m
Length (62.5um) : 150m
Length (Copper) : 0m
Length (OM3) : 0m
Laser wavelength : 850nm
Vendor name : FiberStore
Vendor OUI : 00:90:65
Vendor PN : SFP-10GSR-85
Vendor rev : A
Option values : 0x00 0x1a
Option : RX_LOS implemented
Option : TX_FAULT implemented
Option : TX_DISABLE implemented
BR margin, max : 0%
BR margin, min : 0%
Vendor SN : N3612030002
Date code : 161203
Optical diagnostics support : Yes
Laser bias current : 16.480 mA
Laser output power : 3.0768 mW / 4.88 dBm
Receiver signal average optical power : 1.2298 mW / 0.90 dBm
Module temperature : 48.47 degrees C / 119.24 degrees F
Module voltage : 1.2336 V
Alarm/warning flags implemented : Yes
Laser bias current high alarm : Off
Laser bias current low alarm : Off
Laser bias current high warning : Off
Laser bias current low warning : Off
Laser output power high alarm : Off
Laser output power low alarm : Off
Laser output power high warning : Off
Laser output power low warning : Off
Module temperature high alarm : Off
Module temperature low alarm : Off
Module temperature high warning : Off
Module temperature low warning : Off
Module voltage high alarm : Off
Module voltage low alarm : Off
Module voltage high warning : Off
Module voltage low warning : Off
Laser rx power high alarm : Off
Laser rx power low alarm : Off
Laser rx power high warning : Off
Laser rx power low warning : Off
Laser bias current high alarm threshold : 4.744 mA
Laser bias current low alarm threshold : 49.896 mA
Laser bias current high warning threshold : 51.776 mA
Laser bias current low warning threshold : 50.910 mA
Laser output power high alarm threshold : 2.5701 mW / 4.10 dBm
Laser output power low alarm threshold : 0.8224 mW / -0.85 dBm
Laser output power high warning threshold : 0.8224 mW / -0.85 dBm
Laser output power low warning threshold : 0.8224 mW / -0.85 dBm
Module temperature high alarm threshold : 0.00 degrees C / 32.00 degrees F
Module temperature low alarm threshold : 0.00 degrees C / 32.00 degrees F
Module temperature high warning threshold : 0.00 degrees C / 32.00 degrees F
Module temperature low warning threshold : 0.00 degrees C / 32.00 degrees F
Module voltage high alarm threshold : 0.4356 V
Module voltage low alarm threshold : 0.0000 V
Module voltage high warning threshold : 0.0000 V
Module voltage low warning threshold : 0.0000 V
Laser rx power high alarm threshold : 0.8224 mW / -0.85 dBm
Laser rx power low alarm threshold : 0.8224 mW / -0.85 dBm
Laser rx power high warning threshold : 0.8224 mW / -0.85 dBm
Laser rx power low warning threshold : 0.8224 mW / -0.85 dBm
If I understood correctly, the driver is unable to read the DOM values correctly and return uninitialized values, which is a security issue (leaking kernel memory).
The fact that reading the DOM fails is an other issue (maybe Mellanox NIC firmware related ?).
But why are the values changing when output is redirected ? Does it change the variables memory addresses or pointers values ? What mechanism is involved there ?
Best Regards,
--
Yannis Aribaud
Reply to: