Dear Customer,
We could not deliver your item.
Please, open email attachment to print shipment label.
Yours faithfully,
Herbert Higgins,
FedEx Operation Manager.
When trying to build a kernel with time_t commented out, I found that
the ntp subsystem still relies on timespec for its pps handling.
This series addresses this and converts all the code to use timespec64
instead, step by step. There is one device driver that interacts with
this code directly (rather than only through the ptp subsystem), so
I have to convert that driver at the same time.
The patches should ideally stay together as a series, but they do
span multiple subsystems, so I'm also looking for the right person
to merge them.
Please review.
Thanks,
Arnd
Arnd Bergmann (5):
ntp/pps: use timespec64 for hardpps()
ntp/pps: replace getnstime_raw_and_real with 64-bit version
ntp: use timespec64 in sync_cmos_clock
ntp/pps: use y2038 safe types in pps_event_time
net: sfc: avoid using timespec
drivers/net/ethernet/sfc/ptp.c | 30 +++++++++++++++---------------
drivers/pps/kapi.c | 4 ++--
include/linux/pps_kernel.h | 16 ++++++++--------
include/linux/timekeeping.h | 4 ++--
include/linux/timex.h | 2 +-
kernel/time/ntp.c | 16 ++++++++--------
kernel/time/ntp_internal.h | 2 +-
kernel/time/timekeeping.c | 14 +++++++-------
8 files changed, 44 insertions(+), 44 deletions(-)
--
2.1.0.rc2
create_request_message() computes the maximum length of a message,
but uses the wrong type for the time stamp: sizeof(struct timespec)
may be 8 or 16 depending on the architecture, while sizeof(struct
ceph_timespec) is always 8, and that is what gets put into the
message.
Found while auditing the uses of timespec for y2038 problems.
Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
Fixes: b8e69066d8af ("ceph: include time stamp in every MDS request")
---
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 51cb02da75d9..fe2c982764e7 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -1935,7 +1935,7 @@ static struct ceph_msg *create_request_message(struct ceph_mds_client *mdsc,
len = sizeof(*head) +
pathlen1 + pathlen2 + 2*(1 + sizeof(u32) + sizeof(u64)) +
- sizeof(struct timespec);
+ sizeof(struct ceph_timespec);
/* calculate (max) length for cap releases */
len += sizeof(struct ceph_mds_request_release) *
WILC_Time is not used and also time_t is not y2038 safe, therefore remove it.
Also remove comment refering to it.
Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic(a)gmail.com>
---
drivers/staging/wilc1000/wilc_platform.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/staging/wilc1000/wilc_platform.h b/drivers/staging/wilc1000/wilc_platform.h
index 1e56973..83f309d 100644
--- a/drivers/staging/wilc1000/wilc_platform.h
+++ b/drivers/staging/wilc1000/wilc_platform.h
@@ -33,8 +33,6 @@ typedef struct __MessageQueue_struct {
-/*Time represented in 64 bit format*/
-typedef time_t WILC_Time;
/*******************************************************************
--
1.9.1