svn commit: r261627 - head/sys/net

Adrian Chadd adrian at freebsd.org
Sat Feb 8 17:54:54 UTC 2014


Yup, it was part of the (never seemingly publicly used) kern_ API to
directly add a flowtable entry.


-a

On 8 February 2014 01:56, Gleb Smirnoff <glebius at freebsd.org> wrote:
> Author: glebius
> Date: Sat Feb  8 09:56:26 2014
> New Revision: 261627
> URL: http://svnweb.freebsd.org/changeset/base/261627
>
> Log:
>   Remove never set flag FL_OVERWRITE. The only place where
>   it was checked led to lock/critnest leak.
>
> Modified:
>   head/sys/net/flowtable.c
>   head/sys/net/pfvar.h
>
> Modified: head/sys/net/flowtable.c
> ==============================================================================
> --- head/sys/net/flowtable.c    Sat Feb  8 09:50:02 2014        (r261626)
> +++ head/sys/net/flowtable.c    Sat Feb  8 09:56:26 2014        (r261627)
> @@ -280,7 +280,6 @@ flowtable_pcpu_unlock(struct flowtable *
>  #define FL_ENTRY_UNLOCK(table, hash) (table)->ft_unlock((table), (hash))
>
>  #define FL_STALE       (1<<8)
> -#define FL_OVERWRITE   (1<<10)
>
>  static struct flentry *flowtable_lookup_common(struct flowtable *,
>      struct sockaddr_storage *, struct sockaddr_storage *, struct mbuf *, int);
> @@ -833,8 +832,6 @@ flowtable_insert(struct flowtable *ft, u
>                         FL_ENTRY_UNLOCK(ft, hash);
>                         uma_zfree(ft->ft_zone, newfle);
>
> -                       if (flags & FL_OVERWRITE)
> -                               goto skip;
>                         return (EEXIST);
>                 }
>                 /*
>
> Modified: head/sys/net/pfvar.h
> ==============================================================================
> --- head/sys/net/pfvar.h        Sat Feb  8 09:50:02 2014        (r261626)
> +++ head/sys/net/pfvar.h        Sat Feb  8 09:56:26 2014        (r261627)
> @@ -1580,8 +1580,6 @@ extern struct pf_src_node *pf_find_src_n
>  extern void                     pf_unlink_src_node(struct pf_src_node *);
>  extern void                     pf_unlink_src_node_locked(struct pf_src_node *);
>  extern u_int                    pf_free_src_nodes(struct pf_src_node_list *);
> -extern void                     pf_print_state(struct pf_state *);
> -extern void                     pf_print_flags(u_int8_t);
>  extern u_int16_t                pf_cksum_fixup(u_int16_t, u_int16_t, u_int16_t,
>                                     u_int8_t);
>
> @@ -1744,8 +1742,6 @@ int       pf_osfp_get(struct pf_osfp_ioctl *);
>  int    pf_osfp_match(struct pf_osfp_enlist *, pf_osfp_t);
>
>  #ifdef _KERNEL
> -void                    pf_print_host(struct pf_addr *, u_int16_t, u_int8_t);
> -
>  void                    pf_step_into_anchor(struct pf_anchor_stackframe *, int *,
>                             struct pf_ruleset **, int, struct pf_rule **,
>                             struct pf_rule **, int *);


More information about the svn-src-head mailing list