Re: [PATCH 08/12] nfnetlink: use y2038 safe timestamp
From: Arnd Bergmann <arnd@arndb.de>
Date: 2015-10-02 21:23:45
Also in:
lkml, netfilter-devel
On Friday 02 October 2015 14:53:55 Pablo Neira Ayuso wrote:
On Wed, Sep 30, 2015 at 01:26:38PM +0200, Arnd Bergmann wrote:quoted
The __build_packet_message function fills a nfulnl_msg_packet_timestamp structure that uses 64-bit seconds and is therefore y2038 safe, but it uses an intermediate 'struct timespec' which is not. This trivially changes the code to use 'struct timespec64' instead, to correct the result on 32-bit architectures. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Pablo Neira Ayuso <pablo@netfilter.org> Cc: Patrick McHardy <redacted> Cc: Jozsef Kadlecsik <redacted> Cc: netfilter-devel@vger.kernel.org Cc: coreteam@netfilter.orgAcked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Thanks
BTW, I don't see the patch for nfnetlink_queue and I think I have seen it in the diffstat from your cover letter.
My text must have been unclear. What I meant is that I have identified
that file as needing a patch (among 120 other files) but have not
written one.
This one is trivial, it just needs replacing this code
if (entskb->tstamp.tv64) {
struct nfqnl_msg_packet_timestamp ts;
struct timeval tv = ktime_to_timeval(entskb->tstamp);
ts.sec = cpu_to_be64(tv.tv_sec);
ts.usec = cpu_to_be64(tv.tv_usec);
if (nla_put(skb, NFQA_TIMESTAMP, sizeof(ts), &ts))
goto nla_put_failure;
}
with a version using ktime_to_timespec64. If you or someone else does
this, that makes one less file for me to track.
Arnd
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038