| From foo@baz Thu 28 May 2020 02:29:37 PM CEST |
| From: Roman Mashak <mrv@mojatatu.com> |
| Date: Sun, 17 May 2020 08:46:31 -0400 |
| Subject: net sched: fix reporting the first-time use timestamp |
| |
| From: Roman Mashak <mrv@mojatatu.com> |
| |
| [ Upstream commit b15e62631c5f19fea9895f7632dae9c1b27fe0cd ] |
| |
| When a new action is installed, firstuse field of 'tcf_t' is explicitly set |
| to 0. Value of zero means "new action, not yet used"; as a packet hits the |
| action, 'firstuse' is stamped with the current jiffies value. |
| |
| tcf_tm_dump() should return 0 for firstuse if action has not yet been hit. |
| |
| Fixes: 48d8ee1694dd ("net sched actions: aggregate dumping of actions timeinfo") |
| Cc: Jamal Hadi Salim <jhs@mojatatu.com> |
| Signed-off-by: Roman Mashak <mrv@mojatatu.com> |
| Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/net/act_api.h | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/include/net/act_api.h |
| +++ b/include/net/act_api.h |
| @@ -69,7 +69,8 @@ static inline void tcf_tm_dump(struct tc |
| { |
| dtm->install = jiffies_to_clock_t(jiffies - stm->install); |
| dtm->lastuse = jiffies_to_clock_t(jiffies - stm->lastuse); |
| - dtm->firstuse = jiffies_to_clock_t(jiffies - stm->firstuse); |
| + dtm->firstuse = stm->firstuse ? |
| + jiffies_to_clock_t(jiffies - stm->firstuse) : 0; |
| dtm->expires = jiffies_to_clock_t(stm->expires); |
| } |
| |