lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 01 Sep 2017 11:26:03 +0200
From:   Jesper Dangaard Brouer <brouer@...hat.com>
To:     netdev@...r.kernel.org
Cc:     mkubecek@...e.cz, Florian Westphal <fw@...len.de>,
        liujian56@...wei.com, Jesper Dangaard Brouer <brouer@...hat.com>
Subject: [PATCH net 0/2] net: revert lib/percpu_counter API for
 fragmentation mem accounting

There is a bug in fragmentation codes use of the percpu_counter API,
that can cause issues on systems with many CPUs, above 24 CPUs.

After much consideration and different attempts at solving the API
usage.  The conclusion is to revert to the simple atomic_t API instead.

The ratio between batch size and threshold size make it a bad use-case
for the lib/percpu_counter API.  As using the correct API calls will
unfortunately cause systems with many CPUs to always execute an
expensive sum across all CPUs. Plus the added complexity is not worth it.

---

Jesper Dangaard Brouer (2):
      Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
      Revert "net: fix percpu memory leaks"


 include/net/inet_frag.h                 |   35 ++++++++-----------------------
 net/ieee802154/6lowpan/reassembly.c     |   11 +++-------
 net/ipv4/inet_fragment.c                |    4 +---
 net/ipv4/ip_fragment.c                  |   12 +++--------
 net/ipv6/netfilter/nf_conntrack_reasm.c |   12 +++--------
 net/ipv6/reassembly.c                   |   12 +++--------
 6 files changed, 22 insertions(+), 64 deletions(-)

--

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ