lkml.org 
[lkml]   [2018]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.17 041/336] netfilter: ipset: List timing out entries with "timeout 1" instead of zero
    Date
    4.17-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>

    [ Upstream commit bd975e691486ba52790ba23cc9b4fecab7bc0d31 ]

    When listing sets with timeout support, there's a probability that
    just timing out entries with "0" timeout value is listed/saved.
    However when restoring the saved list, the zero timeout value means
    permanent elelements.

    The new behaviour is that timing out entries are listed with "timeout 1"
    instead of zero.

    Fixes netfilter bugzilla #1258.

    Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    include/linux/netfilter/ipset/ip_set_timeout.h | 10 ++++++++--
    1 file changed, 8 insertions(+), 2 deletions(-)

    --- a/include/linux/netfilter/ipset/ip_set_timeout.h
    +++ b/include/linux/netfilter/ipset/ip_set_timeout.h
    @@ -65,8 +65,14 @@ ip_set_timeout_set(unsigned long *timeou
    static inline u32
    ip_set_timeout_get(const unsigned long *timeout)
    {
    - return *timeout == IPSET_ELEM_PERMANENT ? 0 :
    - jiffies_to_msecs(*timeout - jiffies)/MSEC_PER_SEC;
    + u32 t;
    +
    + if (*timeout == IPSET_ELEM_PERMANENT)
    + return 0;
    +
    + t = jiffies_to_msecs(*timeout - jiffies)/MSEC_PER_SEC;
    + /* Zero value in userspace means no timeout */
    + return t == 0 ? 1 : t;
    }

    #endif /* __KERNEL__ */

    \
     
     \ /
      Last update: 2018-08-01 19:39    [W:4.141 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site