drivers/net/ethernet/intel/e1000e/ptp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
get_time_fn() callback implementations are expected to fill out the
entire system_counterval_t struct as it may be initially uninitialized.
This broke with the removal of convert_art_to_tsc() helper functions
which left use_nsecs uninitialized.
Assign the entire struct again.
Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()")
Cc: stable@vger.kernel.org
Signed-off-by: Markus Blöchl <markus@blochl.de>
---
Notes:
Related-To: <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwludjtjifnah2@7tmgczln4aoo/>
Changes in v2:
- Add Lakshmi in Cc:
- Add Signed-off-by: trailer which was lost in b4 workflow
- Link to v1: https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1-f8a80c792e4f@blochl.de
---
drivers/net/ethernet/intel/e1000e/ptp.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c b/drivers/net/ethernet/intel/e1000e/ptp.c
index ea3c3eb2ef2020d513d49c1368679f27d17edb04..f01506504ee3a11822930115e9ed07661d81532c 100644
--- a/drivers/net/ethernet/intel/e1000e/ptp.c
+++ b/drivers/net/ethernet/intel/e1000e/ptp.c
@@ -124,8 +124,11 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device,
sys_cycles = er32(PLTSTMPH);
sys_cycles <<= 32;
sys_cycles |= er32(PLTSTMPL);
- system->cycles = sys_cycles;
- system->cs_id = CSID_X86_ART;
+ *system = (struct system_counterval_t) {
+ .cycles = sys_cycles,
+ .cs_id = CSID_X86_ART,
+ .use_nsecs = false,
+ };
return 0;
}
---
base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681
change-id: 20250709-e1000e_crossts-7745674f682a
Best regards,
--
Markus Blöchl <markus@blochl.de>
On 09/07/2025 20:28, Markus Blöchl wrote: > get_time_fn() callback implementations are expected to fill out the > entire system_counterval_t struct as it may be initially uninitialized. > > This broke with the removal of convert_art_to_tsc() helper functions > which left use_nsecs uninitialized. > > Assign the entire struct again. > > Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()") > Cc: stable@vger.kernel.org > Signed-off-by: Markus Blöchl <markus@blochl.de> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> > Reviewed-by: Simon Horman <horms@kernel.org> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> > Reviewed-by: Vitaly Lifshits <vitaly.lifshits@intel.com> > --- > Notes: > Related-To: <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwludjtjifnah2@7tmgczln4aoo/> > > Changes in v2: > - Add Lakshmi in Cc: > - Add Signed-off-by: trailer which was lost in b4 workflow > - Link to v1: https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1-f8a80c792e4f@blochl.de > --- > drivers/net/ethernet/intel/e1000e/ptp.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > Tested-by: Mor Bar-Gabay <morx.bar.gabay@intel.com>
On Wed, Jul 09, 2025 at 07:28:07PM +0200, Markus Blöchl wrote: > get_time_fn() callback implementations are expected to fill out the > entire system_counterval_t struct as it may be initially uninitialized. > > This broke with the removal of convert_art_to_tsc() helper functions > which left use_nsecs uninitialized. > > Assign the entire struct again. > > Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()") > Cc: stable@vger.kernel.org > Signed-off-by: Markus Blöchl <markus@blochl.de> > --- > Notes: > Related-To: <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwludjtjifnah2@7tmgczln4aoo/> > > Changes in v2: > - Add Lakshmi in Cc: > - Add Signed-off-by: trailer which was lost in b4 workflow > - Link to v1: https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1-f8a80c792e4f@blochl.de Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf > Of Simon Horman > Sent: Thursday, July 10, 2025 12:25 PM > To: Markus Blöchl <markus@blochl.de> > Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, > Przemyslaw <przemyslaw.kitszel@intel.com>; Richard Cochran > <richardcochran@gmail.com>; Thomas Gleixner <tglx@linutronix.de>; > Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>; Andrew Lunn > <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric > Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo > Abeni <pabeni@redhat.com>; Bloechl, Markus > <markus.bloechl@ipetronik.com>; John Stultz <jstultz@google.com>; > intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux- > kernel@vger.kernel.org > Subject: Re: [Intel-wired-lan] [PATCH v2] e1000e: Populate entire > system_counterval_t in get_time_fn() callback > > On Wed, Jul 09, 2025 at 07:28:07PM +0200, Markus Blöchl wrote: > > get_time_fn() callback implementations are expected to fill out the > > entire system_counterval_t struct as it may be initially > uninitialized. > > > > This broke with the removal of convert_art_to_tsc() helper functions > > which left use_nsecs uninitialized. > > > > Assign the entire struct again. > > > > Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()") > > Cc: stable@vger.kernel.org > > Signed-off-by: Markus Blöchl <markus@blochl.de> > > --- > > Notes: > > Related-To: > > > <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwlu > > djtjifnah2@7tmgczln4aoo/> > > > > Changes in v2: > > - Add Lakshmi in Cc: > > - Add Signed-off-by: trailer which was lost in b4 workflow > > - Link to v1: > > https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1- > f8a80c792e4f@bl > > ochl.de > > Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
On 7/10/2025 1:33 PM, Loktionov, Aleksandr wrote: > > >> -----Original Message----- >> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf >> Of Simon Horman >> Sent: Thursday, July 10, 2025 12:25 PM >> To: Markus Blöchl <markus@blochl.de> >> Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, >> Przemyslaw <przemyslaw.kitszel@intel.com>; Richard Cochran >> <richardcochran@gmail.com>; Thomas Gleixner <tglx@linutronix.de>; >> Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>; Andrew Lunn >> <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric >> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo >> Abeni <pabeni@redhat.com>; Bloechl, Markus >> <markus.bloechl@ipetronik.com>; John Stultz <jstultz@google.com>; >> intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux- >> kernel@vger.kernel.org >> Subject: Re: [Intel-wired-lan] [PATCH v2] e1000e: Populate entire >> system_counterval_t in get_time_fn() callback >> >> On Wed, Jul 09, 2025 at 07:28:07PM +0200, Markus Blöchl wrote: >>> get_time_fn() callback implementations are expected to fill out the >>> entire system_counterval_t struct as it may be initially >> uninitialized. >>> >>> This broke with the removal of convert_art_to_tsc() helper functions >>> which left use_nsecs uninitialized. >>> >>> Assign the entire struct again. >>> >>> Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()") >>> Cc: stable@vger.kernel.org >>> Signed-off-by: Markus Blöchl <markus@blochl.de> >>> --- >>> Notes: >>> Related-To: >>> >> <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwlu >>> djtjifnah2@7tmgczln4aoo/> >>> >>> Changes in v2: >>> - Add Lakshmi in Cc: >>> - Add Signed-off-by: trailer which was lost in b4 workflow >>> - Link to v1: >>> https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1- >> f8a80c792e4f@bl >>> ochl.de >> >> Reviewed-by: Simon Horman <horms@kernel.org> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> Reviewed-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf > Of Markus Blöchl > Sent: Wednesday, July 9, 2025 7:28 PM > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, > Przemyslaw <przemyslaw.kitszel@intel.com>; Richard Cochran > <richardcochran@gmail.com>; Thomas Gleixner <tglx@linutronix.de> > Cc: Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>; Andrew Lunn > <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric > Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo > Abeni <pabeni@redhat.com>; Bloechl, Markus > <markus.bloechl@ipetronik.com>; John Stultz <jstultz@google.com>; > intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux- > kernel@vger.kernel.org; Markus Blöchl <markus@blochl.de> > Subject: [Intel-wired-lan] [PATCH v2] e1000e: Populate entire > system_counterval_t in get_time_fn() callback > > get_time_fn() callback implementations are expected to fill out the > entire system_counterval_t struct as it may be initially > uninitialized. > > This broke with the removal of convert_art_to_tsc() helper functions > which left use_nsecs uninitialized. > > Assign the entire struct again. > > Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()") > Cc: stable@vger.kernel.org > Signed-off-by: Markus Blöchl <markus@blochl.de> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> > --- > Notes: > Related-To: > <https://lore.kernel.org/lkml/txyrr26hxe3xpq3ebqb5ewkgvhvp7xalotaouwlu > djtjifnah2@7tmgczln4aoo/> > > Changes in v2: > - Add Lakshmi in Cc: > - Add Signed-off-by: trailer which was lost in b4 workflow > - Link to v1: https://lore.kernel.org/r/20250709-e1000e_crossts-v1-1- > f8a80c792e4f@blochl.de > --- > drivers/net/ethernet/intel/e1000e/ptp.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c > b/drivers/net/ethernet/intel/e1000e/ptp.c > index > ea3c3eb2ef2020d513d49c1368679f27d17edb04..f01506504ee3a11822930115e9ed > 07661d81532c 100644 > --- a/drivers/net/ethernet/intel/e1000e/ptp.c > +++ b/drivers/net/ethernet/intel/e1000e/ptp.c > @@ -124,8 +124,11 @@ static int e1000e_phc_get_syncdevicetime(ktime_t > *device, > sys_cycles = er32(PLTSTMPH); > sys_cycles <<= 32; > sys_cycles |= er32(PLTSTMPL); > - system->cycles = sys_cycles; > - system->cs_id = CSID_X86_ART; > + *system = (struct system_counterval_t) { > + .cycles = sys_cycles, > + .cs_id = CSID_X86_ART, > + .use_nsecs = false, > + }; > > return 0; > } > > --- > base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681 > change-id: 20250709-e1000e_crossts-7745674f682a > > Best regards, > -- > Markus Blöchl <markus@blochl.de>
© 2016 - 2025 Red Hat, Inc.