netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Introduce support to lazy initialize mostly static keys v2
@ 2013-10-05 23:20 Hannes Frederic Sowa
  2013-10-05 23:20 ` [PATCH net-next v2 1/8] ipv4: split inet_ehashfn to hash functions per compilation unit Hannes Frederic Sowa
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Hannes Frederic Sowa @ 2013-10-05 23:20 UTC (permalink / raw)
  To: netdev; +Cc: linux-kernel

Hi!

This series implements support for delaying the initialization of secret
keys, e.g. used for hashing, for as long as possible. This functionality
is implemented by a new macro, net_get_random_bytes.

I already used it to protect the socket hashes, the syncookie secret
(most important) and the tcp_fastopen secrets.   

Changelog:
v2) Use static_keys in net_get_random_once to have as minimal impact to
    the fast-path as possible.

Included patches:
 ipv4: split inet_ehashfn to hash functions
 ipv6: split inet6_ehashfn to hash functions
 x86/jump_label: expect default_nop if
 net: introduce new macro net_get_random_once
 inet: split syncookie keys for ipv4 and ipv6
 inet: convert inet_ehash_secret and
 tcp: switch tcp_fastopen key generation to
 net: switch net_secret key generation to

Diffstat:
 arch/x86/kernel/jump_label.c   | 25 ++++++++++++++++++-------
 include/linux/net.h            | 25 +++++++++++++++++++++++++
 include/net/inet6_hashtables.h | 29 +++++++----------------------
 include/net/inet_sock.h        | 26 ++++++--------------------
 include/net/ipv6.h             |  4 ++--
 include/net/tcp.h              |  3 +--
 net/core/secure_seq.c          | 14 ++------------
 net/core/utils.c               | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 net/ipv4/af_inet.c             | 27 ---------------------------
 net/ipv4/inet_hashtables.c     | 25 +++++++++++++++++++++++++
 net/ipv4/syncookies.c          | 15 +++++----------
 net/ipv4/sysctl_net_ipv4.c     |  5 +++++
 net/ipv4/tcp_fastopen.c        | 27 ++++++++++++++++-----------
 net/ipv4/udp.c                 | 20 ++++++++++++++++----
 net/ipv6/af_inet6.c            |  5 -----
 net/ipv6/inet6_hashtables.c    | 34 ++++++++++++++++++++++++++++++++++
 net/ipv6/syncookies.c          | 12 +++++++++---
 net/ipv6/udp.c                 | 31 +++++++++++++++++++++++++++----
 net/rds/connection.c           | 12 +++++++++---
 19 files changed, 255 insertions(+), 132 deletions(-)

Greetings,

  Hannes

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-10-07 16:57 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-05 23:20 Introduce support to lazy initialize mostly static keys v2 Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 1/8] ipv4: split inet_ehashfn to hash functions per compilation unit Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 2/8] ipv6: split inet6_ehashfn " Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 3/8] x86/jump_label: expect default_nop if static_key gets enabled on boot-up Hannes Frederic Sowa
2013-10-06  0:05   ` Steven Rostedt
2013-10-06  0:12     ` Hannes Frederic Sowa
2013-10-06 18:29       ` [PATCH] static_key: WARN on usage before jump_label_init was called Hannes Frederic Sowa
2013-10-07 15:51         ` Steven Rostedt
2013-10-07 16:57           ` [PATCH v2] " Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 4/8] net: introduce new macro net_get_random_once Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 5/8] inet: split syncookie keys for ipv4 and ipv6 and initialize with net_get_random_once Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 6/8] inet: convert inet_ehash_secret and ipv6_hash_secret to net_get_random_once Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 7/8] tcp: switch tcp_fastopen key generation " Hannes Frederic Sowa
2013-10-05 23:20 ` [PATCH net-next v2 8/8] net: switch net_secret " Hannes Frederic Sowa
2013-10-06  2:55 ` Introduce support to lazy initialize mostly static keys v2 David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).