1. 24 1月, 2020 1 次提交
  2. 17 1月, 2020 1 次提交
  3. 15 1月, 2020 1 次提交
  4. 12 1月, 2020 1 次提交
  5. 11 1月, 2020 2 次提交
    • J
      devlink: convert driver-specific files to reStructuredText · 6c39e015
      Jacob Keller 提交于
      Several drivers document what parameters they support in
      a devlink-params-*.txt file. This file is supposed to contain both the
      list of generic parameters implemented by the driver, as well as a list
      of driver-specific parameters and their descriptions.
      
      It would also be good if the driver documentation included other
      driver-specific implementations, such as info versions, devlink
      regions, and so forth.
      
      Convert all of these documentation files to reStructuredText, and rename
      them to just the driver name. Future changes will include other
      driver-specific implementations. Each file will contain a table for the
      generic parameters implemented, as well as a separate table for the
      driver-specific parameters.
      
      Future sections such as for devlink info versions will be added to these
      files. This avoids creating additional devlink-<feature>-<driver> files
      for each devlink feature, reducing clutter in the documentation folder.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Cc: Tariq Toukan <tariqt@mellanox.com>
      Cc: Saeed Mahameed <saeedm@mellanox.com>
      Cc: Leon Romanovsky <leonro@mellanox.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Vivien Didelot <vivien.didelot@gmail.com>
      Cc: Jiri Pirko <jiri@mellanox.com>
      Cc: Ido Schimmel <idosch@mellanox.com>
      Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
      Cc: Grygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6c39e015
    • J
      devlink: move devlink documentation to subfolder · f4bdd710
      Jacob Keller 提交于
      Combine the documentation for devlink into a subfolder, and provide an
      index.rst file that can be used to generally describe devlink.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4bdd710
  6. 10 1月, 2020 1 次提交
  7. 09 1月, 2020 1 次提交
  8. 08 1月, 2020 1 次提交
  9. 06 1月, 2020 1 次提交
  10. 05 1月, 2020 1 次提交
    • P
      Documentation: riscv: add patch acceptance guidelines · 0e194d9d
      Paul Walmsley 提交于
      Formalize, in kernel documentation, the patch acceptance policy for
      arch/riscv.  In summary, it states that as maintainers, we plan to
      only accept patches for new modules or extensions that have been
      frozen or ratified by the RISC-V Foundation.
      
      We've been following these guidelines for the past few months.  In the
      meantime, we've received quite a bit of feedback that it would be
      helpful to have these guidelines formally documented.
      
      Based on a suggestion from Matthew Wilcox, we also add a link to this
      file to Documentation/process/index.rst, to make this document easier
      to find.  The format of this document has also been changed to align
      to the format outlined in the maintainer entry profiles, in accordance
      with comments from Jon Corbet and Dan Williams.
      Signed-off-by: NPaul Walmsley <paul.walmsley@sifive.com>
      Reviewed-by: NPalmer Dabbelt <palmerdabbelt@google.com>
      Cc: Palmer Dabbelt <palmer@dabbelt.com>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Krste Asanovic <krste@berkeley.edu>
      Cc: Andrew Waterman <waterman@eecs.berkeley.edu>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      0e194d9d
  11. 03 1月, 2020 1 次提交
  12. 26 12月, 2019 1 次提交
  13. 22 12月, 2019 2 次提交
  14. 20 12月, 2019 1 次提交
    • C
      riscv: move sifive_l2_cache.c to drivers/soc · 9209fb51
      Christoph Hellwig 提交于
      The sifive_l2_cache.c is in no way related to RISC-V architecture
      memory management.  It is a little stub driver working around the fact
      that the EDAC maintainers prefer their drivers to be structured in a
      certain way that doesn't fit the SiFive SOCs.
      
      Move the file to drivers/soc and add a Kconfig option for it, as well
      as the whole drivers/soc boilerplate for CONFIG_SOC_SIFIVE.
      
      Fixes: a967a289 ("RISC-V: sifive_l2_cache: Add L2 cache controller driver for SiFive SoCs")
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NBorislav Petkov <bp@suse.de>
      [paul.walmsley@sifive.com: keep the MAINTAINERS change specific to the L2$ controller code]
      Signed-off-by: NPaul Walmsley <paul.walmsley@sifive.com>
      9209fb51
  15. 19 12月, 2019 1 次提交
  16. 14 12月, 2019 1 次提交
  17. 12 12月, 2019 1 次提交
  18. 11 12月, 2019 1 次提交
  19. 10 12月, 2019 4 次提交
  20. 09 12月, 2019 1 次提交
    • J
      net: WireGuard secure network tunnel · e7096c13
      Jason A. Donenfeld 提交于
      WireGuard is a layer 3 secure networking tunnel made specifically for
      the kernel, that aims to be much simpler and easier to audit than IPsec.
      Extensive documentation and description of the protocol and
      considerations, along with formal proofs of the cryptography, are
      available at:
      
        * https://www.wireguard.com/
        * https://www.wireguard.com/papers/wireguard.pdf
      
      This commit implements WireGuard as a simple network device driver,
      accessible in the usual RTNL way used by virtual network drivers. It
      makes use of the udp_tunnel APIs, GRO, GSO, NAPI, and the usual set of
      networking subsystem APIs. It has a somewhat novel multicore queueing
      system designed for maximum throughput and minimal latency of encryption
      operations, but it is implemented modestly using workqueues and NAPI.
      Configuration is done via generic Netlink, and following a review from
      the Netlink maintainer a year ago, several high profile userspace tools
      have already implemented the API.
      
      This commit also comes with several different tests, both in-kernel
      tests and out-of-kernel tests based on network namespaces, taking profit
      of the fact that sockets used by WireGuard intentionally stay in the
      namespace the WireGuard interface was originally created, exactly like
      the semantics of userspace tun devices. See wireguard.com/netns/ for
      pictures and examples.
      
      The source code is fairly short, but rather than combining everything
      into a single file, WireGuard is developed as cleanly separable files,
      making auditing and comprehension easier. Things are laid out as
      follows:
      
        * noise.[ch], cookie.[ch], messages.h: These implement the bulk of the
          cryptographic aspects of the protocol, and are mostly data-only in
          nature, taking in buffers of bytes and spitting out buffers of
          bytes. They also handle reference counting for their various shared
          pieces of data, like keys and key lists.
      
        * ratelimiter.[ch]: Used as an integral part of cookie.[ch] for
          ratelimiting certain types of cryptographic operations in accordance
          with particular WireGuard semantics.
      
        * allowedips.[ch], peerlookup.[ch]: The main lookup structures of
          WireGuard, the former being trie-like with particular semantics, an
          integral part of the design of the protocol, and the latter just
          being nice helper functions around the various hashtables we use.
      
        * device.[ch]: Implementation of functions for the netdevice and for
          rtnl, responsible for maintaining the life of a given interface and
          wiring it up to the rest of WireGuard.
      
        * peer.[ch]: Each interface has a list of peers, with helper functions
          available here for creation, destruction, and reference counting.
      
        * socket.[ch]: Implementation of functions related to udp_socket and
          the general set of kernel socket APIs, for sending and receiving
          ciphertext UDP packets, and taking care of WireGuard-specific sticky
          socket routing semantics for the automatic roaming.
      
        * netlink.[ch]: Userspace API entry point for configuring WireGuard
          peers and devices. The API has been implemented by several userspace
          tools and network management utility, and the WireGuard project
          distributes the basic wg(8) tool.
      
        * queueing.[ch]: Shared function on the rx and tx path for handling
          the various queues used in the multicore algorithms.
      
        * send.c: Handles encrypting outgoing packets in parallel on
          multiple cores, before sending them in order on a single core, via
          workqueues and ring buffers. Also handles sending handshake and cookie
          messages as part of the protocol, in parallel.
      
        * receive.c: Handles decrypting incoming packets in parallel on
          multiple cores, before passing them off in order to be ingested via
          the rest of the networking subsystem with GRO via the typical NAPI
          poll function. Also handles receiving handshake and cookie messages
          as part of the protocol, in parallel.
      
        * timers.[ch]: Uses the timer wheel to implement protocol particular
          event timeouts, and gives a set of very simple event-driven entry
          point functions for callers.
      
        * main.c, version.h: Initialization and deinitialization of the module.
      
        * selftest/*.h: Runtime unit tests for some of the most security
          sensitive functions.
      
        * tools/testing/selftests/wireguard/netns.sh: Aforementioned testing
          script using network namespaces.
      
      This commit aims to be as self-contained as possible, implementing
      WireGuard as a standalone module not needing much special handling or
      coordination from the network subsystem. I expect for future
      optimizations to the network stack to positively improve WireGuard, and
      vice-versa, but for the time being, this exists as intentionally
      standalone.
      
      We introduce a menu option for CONFIG_WIREGUARD, as well as providing a
      verbose debug log and self-tests via CONFIG_WIREGUARD_DEBUG.
      Signed-off-by: NJason A. Donenfeld <Jason@zx2c4.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Greg KH <gregkh@linuxfoundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: linux-crypto@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7096c13
  21. 08 12月, 2019 2 次提交
  22. 07 12月, 2019 3 次提交
  23. 06 12月, 2019 2 次提交
  24. 03 12月, 2019 2 次提交
  25. 01 12月, 2019 1 次提交
  26. 27 11月, 2019 5 次提交