• D
    net: replace remaining users of arch_fast_hash with jhash · 87545899
    Daniel Borkmann 提交于
    This patch effectively reverts commit 500f8087 ("net: ovs: use CRC32
    accelerated flow hash if available"), and other remaining arch_fast_hash()
    users such as from nfsd via commit 6282cd56 ("NFSD: Don't hand out
    delegations for 30 seconds after recalling them.") where it has been used
    as a hash function for bloom filtering.
    
    While we think that these users are actually not much of concern, it has
    been requested to remove the arch_fast_hash() library bits that arose
    from [1] entirely as per recent discussion [2]. The main argument is that
    using it as a hash may introduce bias due to its linearity (see avalanche
    criterion) and thus makes it less clear (though we tried to document that)
    when this security/performance trade-off is actually acceptable for a
    general purpose library function.
    
    Lets therefore avoid any further confusion on this matter and remove it to
    prevent any future accidental misuse of it. For the time being, this is
    going to make hashing of flow keys a bit more expensive in the ovs case,
    but future work could reevaluate a different hashing discipline.
    
      [1] https://patchwork.ozlabs.org/patch/299369/
      [2] https://patchwork.ozlabs.org/patch/418756/
    
    Cc: Neil Brown <neilb@suse.de>
    Cc: Francesco Fusco <fusco@ntop.org>
    Cc: Jesse Gross <jesse@nicira.com>
    Cc: Thomas Graf <tgraf@suug.ch>
    Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    87545899
flow_table.c 15.0 KB