Skip to content

Commit

Permalink
BACKPORT: FROMGIT: netfilter: nfnetlink_log: always add a timestamp
Browse files Browse the repository at this point in the history
Compared to all the other work we're already doing to deliver
an skb to userspace this is very cheap - at worse an extra
call to ktime_get_real() - and very useful.

(and indeed it may even be cheaper if we're running from other hooks)

(background: Android occasionally logs packets which
caused wake from sleep/suspend and we'd like to have
timestamps reliably associated with these events)

Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Florian Westphal <fw@strlen.de>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
(cherry picked from commit 1d85594fd3e7e39e63b53b1bdc2d89db43b6ecd5 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git main)
Bug: 276360178
Change-Id: I254a8d39cb7a232d47865a04cd6e0279606fa40e
  • Loading branch information
zenczykowski authored and Treehugger Robot committed Aug 25, 2023
1 parent 07610c7 commit 7bd837e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/netfilter/nfnetlink_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -587,9 +587,9 @@ __build_packet_message(struct nfnl_log_net *log,
goto nla_put_failure;
}

if (hooknum <= NF_INET_FORWARD && skb->tstamp) {
if (hooknum <= NF_INET_FORWARD) {
struct nfulnl_msg_packet_timestamp ts;
struct timespec64 kts = ktime_to_timespec64(skb->tstamp);
struct timespec64 kts = ktime_to_timespec64(skb->tstamp ?: ktime_get_real());
ts.sec = cpu_to_be64(kts.tv_sec);
ts.usec = cpu_to_be64(kts.tv_nsec / NSEC_PER_USEC);

Expand Down

0 comments on commit 7bd837e

Please sign in to comment.