09 Feb, 2019

20 commits

  • The generic netlink code is expected to trigger notification messages when
    configuration might have been changed. But the configuration of batman-adv
    is most of the time still done using sysfs. So the sysfs interface should
    also trigger the corresponding netlink messages via the "config" multicast
    group.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The B.A.T.M.A.N. V implementation tries to estimate the link throughput of
    an interface to an originator using different automatic methods. It is
    still possible to overwrite it the link throughput for all reachable
    originators via this interface.

    The BATADV_CMD_SET_HARDIF/BATADV_CMD_GET_HARDIF commands allow to set/get
    the configuration of this feature using the u32
    BATADV_ATTR_THROUGHPUT_OVERRIDE attribute. The used unit is in 100 Kbit/s.
    If the value is set to 0 then batman-adv will try to estimate the
    throughput by itself.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The ELP packets are transmitted every elp_interval milliseconds on an
    slave/hard-interface. This value can be changed using the configuration
    interface.

    The BATADV_CMD_SET_HARDIF/BATADV_CMD_GET_HARDIF commands allow to set/get
    the configuration of this feature using the u32 BATADV_ATTR_ELP_INTERVAL
    attribute.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The OGM packets are transmitted every orig_interval milliseconds. This
    value can be changed using the configuration interface.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the u32 BATADV_ATTR_ORIG_INTERVAL
    attribute.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can use (in an homogeneous mesh) network coding, a
    mechanism that aims to increase the overall network throughput by fusing
    multiple packets in one transmission.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the BATADV_ATTR_NETWORK_CODING_ENABLED
    attribute. Setting the u8 to zero will disable this feature and setting it
    to something else is enabling this feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can optimize the flooding of multicast packets based on
    the content of the global translation tables. To disable this behavior and
    use the broadcast-like flooding of the packets, forceflood has to be
    enabled.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the
    BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED attribute. Setting the u8 to zero
    will disable this feature (allowing multicast optimizations) and setting it
    to something else is enabling this feature (forcing simple flooding).

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • In contrast to other modules, batman-adv allows to set the debug message
    verbosity per mesh/soft-interface and not per module (via modparam).

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the u32 (bitmask) BATADV_ATTR_LOG_LEVEL
    attribute.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The TQ (B.A.T.M.A.N. IV) and throughput values (B.A.T.M.A.N. V) are reduced
    when they are forwarded. One of the reductions is the penalty for
    traversing an additional hop. This hop_penalty (0-255) defines the
    percentage of reduction (0-100%).

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the u8 BATADV_ATTR_HOP_PENALTY
    attribute.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh/soft-interface can optimize the handling of DHCP packets. Instead
    of flooding them through the whole mesh, it can be forwarded as unicast to
    a specific gateway server. The originator which injects the packets in the
    mesh has to select (based on sel_class thresholds) a responsible gateway
    server. This is done by switching this originator to the gw_mode client.
    The servers announce their forwarding bandwidth (download/upload) when the
    gw_mode server was selected.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the attributes:

    * u8 BATADV_ATTR_GW_MODE (0 == off, 1 == client, 2 == server)
    * u32 BATADV_ATTR_GW_BANDWIDTH_DOWN (in 100 kbit/s steps)
    * u32 BATADV_ATTR_GW_BANDWIDTH_UP (in 100 kbit/s steps)
    * u32 BATADV_ATTR_GW_SEL_CLASS

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can fragment unicast packets when the packet size
    exceeds the outgoing slave/hard-interface MTU.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the BATADV_ATTR_FRAGMENTATION_ENABLED
    attribute. Setting the u8 to zero will disable this feature and setting it
    to something else is enabling this feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can use a distributed hash table to answer ARP requests
    without flooding the request through the whole mesh.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the
    BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED attribute. Setting the u8 to zero
    will disable this feature and setting it to something else is enabling this
    feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can try to detect loops in the same mesh caused by
    (indirectly) bridged mesh/soft-interfaces of different nodes. Some of the
    loops can also be resolved without breaking the mesh.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the
    BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED attribute. Setting the u8 to zero
    will disable this feature and setting it to something else is enabling this
    feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can use multiple slave/hard-interface ports at the same
    time to transport the traffic to other nodes.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the BATADV_ATTR_BONDING_ENABLED
    attribute. Setting the u8 to zero will disable this feature and setting it
    to something else is enabling this feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can drop messages between clients to implement a
    mesh-wide AP isolation.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH and
    BATADV_CMD_SET_VLAN/BATADV_CMD_GET_VLAN commands allow to set/get the
    configuration of this feature using the BATADV_ATTR_AP_ISOLATION_ENABLED
    attribute. Setting the u8 to zero will disable this feature and setting it
    to something else is enabling this feature.

    This feature also requires that skbuff which should be handled as isolated
    are marked. The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to
    set/get the mark/mask using the u32 attributes BATADV_ATTR_ISOLATION_MARK
    and BATADV_ATTR_ISOLATION_MASK.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The mesh interface can delay OGM messages to aggregate different ogms
    together in a single OGM packet.

    The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the
    configuration of this feature using the BATADV_ATTR_AGGREGATED_OGMS_ENABLED
    attribute. Setting the u8 to zero will disable this feature and setting it
    to something else is enabling this feature.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The batman-adv configuration interface was implemented solely using sysfs.
    This approach was condemned by non-batadv developers as "huge mistake".
    Instead a netlink/genl based implementation was suggested.

    Beside the mesh/soft-interface specific configuration, the VLANs on top of
    the mesh/soft-interface have configuration settings. The genl interface
    reflects this by allowing to get/set it using the vlan specific commands
    BATADV_CMD_GET_VLAN/BATADV_CMD_SET_VLAN.

    The set command BATADV_CMD_SET_MESH will also notify interested userspace
    listeners of the "config" mcast group using the BATADV_CMD_SET_VLAN command
    message type that settings might have been changed and what the current
    values are.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The batman-adv configuration interface was implemented solely using sysfs.
    This approach was condemned by non-batadv developers as "huge mistake".
    Instead a netlink/genl based implementation was suggested.

    Beside the mesh/soft-interface specific configuration, the
    slave/hard-interface have B.A.T.M.A.N. V specific configuration settings.
    The genl interface reflects this by allowing to get/set it using the
    hard-interface specific commands.

    The BATADV_CMD_GET_HARDIFS (or short version BATADV_CMD_GET_HARDIF) is
    reused as get command because it already allow sto dump the content of
    other information from the slave/hard-interface which are not yet
    configuration specific.

    The set command BATADV_CMD_SET_HARDIF will also notify interested userspace
    listeners of the "config" mcast group using the BATADV_CMD_SET_HARDIF
    command message type that settings might have been changed and what the
    current values are.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The batman-adv configuration interface was implemented solely using sysfs.
    This approach was condemned by non-batadv developers as "huge mistake".
    Instead a netlink/genl based implementation was suggested.

    The main objects for this configuration is the mesh/soft-interface object.
    Its actual object in memory already contains most of the available
    configuration settings. The genl interface reflects this by allowing to
    get/set it using the mesh specific commands.

    The BATADV_CMD_GET_MESH_INFO (or short version BATADV_CMD_GET_MESH) is
    reused as get command because it already provides the content of other
    information from the mesh/soft-interface which are not yet configuration
    specific.

    The set command BATADV_CMD_SET_MESH will also notify interested userspace
    listeners of the "config" mcast group using the BATADV_CMD_SET_MESH command
    message type that settings might have been changed and what the current
    values are.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • The commit ff4c92d85c6f ("genetlink: introduce pre_doit/post_doit hooks")
    intoduced a mechanism to run specific code for doit hooks before/after the
    hooks are run. Since all doit hooks are requiring the batadv softif, it
    should be retrieved/freed in these helpers to simplify the code.

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     
  • checkpatch.pl complains since commit 45e417022023 ("scripts/spelling.txt:
    add more spellings to spelling.txt") about an additional spelling mistake
    in batman-adv:`

    CHECK: 'reseved' may be misspelled - perhaps 'reserved'?
    #232: FILE: include/uapi/linux/batadv_packet.h:232:
    + * @flags: reseved for routing relevant flags - currently always 0

    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Sven Eckelmann
     

07 Feb, 2019

1 commit

  • batadv_dat_put_dhcp is creating a new ARP packet via
    batadv_dat_arp_create_reply and tries to forward it via
    batadv_dat_send_data to different peers in the DHT. The original skb is not
    consumed by batadv_dat_send_data and thus has to be consumed by the caller.

    Fixes: b61ec31c8575 ("batman-adv: Snoop DHCPACKs for DAT")
    Signed-off-by: Martin Weinelt
    [sven@narfation.org: add commit message]
    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Martin Weinelt
     

04 Jan, 2019

1 commit


31 Dec, 2018

1 commit

  • In a 1000 nodes mesh network (Freifunk Hamburg) we can still see
    30KBit/s of ARP traffic (equalling about 25% of all layer two
    specific overhead, remaining after some filtering) flooded through
    the mesh. These 30KBit/s are mainly ARP Requests from the
    gateways / DHCP servers.

    By snooping DHCPACKs we can learn about MAC/IP address pairs
    in the DHCP range without relying on ARP. This patch is in preparation
    to eliminate the need for mesh wide message flooding for IPv4 address
    resolution.

    Also this allows to quickly update a MAC/IP pair at least in the DHT when
    DHCP reassigns an IP address to a new host.

    Signed-off-by: Linus Lüssing
    Signed-off-by: Sven Eckelmann
    Signed-off-by: Simon Wunderlich

    Linus Lüssing
     

30 Dec, 2018

1 commit


28 Dec, 2018

11 commits

  • Pull crypto updates from Herbert Xu:
    "API:
    - Add 1472-byte test to tcrypt for IPsec
    - Reintroduced crypto stats interface with numerous changes
    - Support incremental algorithm dumps

    Algorithms:
    - Add xchacha12/20
    - Add nhpoly1305
    - Add adiantum
    - Add streebog hash
    - Mark cts(cbc(aes)) as FIPS allowed

    Drivers:
    - Improve performance of arm64/chacha20
    - Improve performance of x86/chacha20
    - Add NEON-accelerated nhpoly1305
    - Add SSE2 accelerated nhpoly1305
    - Add AVX2 accelerated nhpoly1305
    - Add support for 192/256-bit keys in gcmaes AVX
    - Add SG support in gcmaes AVX
    - ESN for inline IPsec tx in chcr
    - Add support for CryptoCell 703 in ccree
    - Add support for CryptoCell 713 in ccree
    - Add SM4 support in ccree
    - Add SM3 support in ccree
    - Add support for chacha20 in caam/qi2
    - Add support for chacha20 + poly1305 in caam/jr
    - Add support for chacha20 + poly1305 in caam/qi2
    - Add AEAD cipher support in cavium/nitrox"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (130 commits)
    crypto: skcipher - remove remnants of internal IV generators
    crypto: cavium/nitrox - Fix build with !CONFIG_DEBUG_FS
    crypto: salsa20-generic - don't unnecessarily use atomic walk
    crypto: skcipher - add might_sleep() to skcipher_walk_virt()
    crypto: x86/chacha - avoid sleeping under kernel_fpu_begin()
    crypto: cavium/nitrox - Added AEAD cipher support
    crypto: mxc-scc - fix build warnings on ARM64
    crypto: api - document missing stats member
    crypto: user - remove unused dump functions
    crypto: chelsio - Fix wrong error counter increments
    crypto: chelsio - Reset counters on cxgb4 Detach
    crypto: chelsio - Handle PCI shutdown event
    crypto: chelsio - cleanup:send addr as value in function argument
    crypto: chelsio - Use same value for both channel in single WR
    crypto: chelsio - Swap location of AAD and IV sent in WR
    crypto: chelsio - remove set but not used variable 'kctx_len'
    crypto: ux500 - Use proper enum in hash_set_dma_transfer
    crypto: ux500 - Use proper enum in cryp_set_dma_transfer
    crypto: aesni - Add scatter/gather avx stubs, and use them in C
    crypto: aesni - Introduce partial block macro
    ..

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) New ipset extensions for matching on destination MAC addresses, from
    Stefano Brivio.

    2) Add ipv4 ttl and tos, plus ipv6 flow label and hop limit offloads to
    nfp driver. From Stefano Brivio.

    3) Implement GRO for plain UDP sockets, from Paolo Abeni.

    4) Lots of work from Michał Mirosław to eliminate the VLAN_TAG_PRESENT
    bit so that we could support the entire vlan_tci value.

    5) Rework the IPSEC policy lookups to better optimize more usecases,
    from Florian Westphal.

    6) Infrastructure changes eliminating direct manipulation of SKB lists
    wherever possible, and to always use the appropriate SKB list
    helpers. This work is still ongoing...

    7) Lots of PHY driver and state machine improvements and
    simplifications, from Heiner Kallweit.

    8) Various TSO deferral refinements, from Eric Dumazet.

    9) Add ntuple filter support to aquantia driver, from Dmitry Bogdanov.

    10) Batch dropping of XDP packets in tuntap, from Jason Wang.

    11) Lots of cleanups and improvements to the r8169 driver from Heiner
    Kallweit, including support for ->xmit_more. This driver has been
    getting some much needed love since he started working on it.

    12) Lots of new forwarding selftests from Petr Machata.

    13) Enable VXLAN learning in mlxsw driver, from Ido Schimmel.

    14) Packed ring support for virtio, from Tiwei Bie.

    15) Add new Aquantia AQtion USB driver, from Dmitry Bezrukov.

    16) Add XDP support to dpaa2-eth driver, from Ioana Ciocoi Radulescu.

    17) Implement coalescing on TCP backlog queue, from Eric Dumazet.

    18) Implement carrier change in tun driver, from Nicolas Dichtel.

    19) Support msg_zerocopy in UDP, from Willem de Bruijn.

    20) Significantly improve garbage collection of neighbor objects when
    the table has many PERMANENT entries, from David Ahern.

    21) Remove egdev usage from nfp and mlx5, and remove the facility
    completely from the tree as it no longer has any users. From Oz
    Shlomo and others.

    22) Add a NETDEV_PRE_CHANGEADDR so that drivers can veto the change and
    therefore abort the operation before the commit phase (which is the
    NETDEV_CHANGEADDR event). From Petr Machata.

    23) Add indirect call wrappers to avoid retpoline overhead, and use them
    in the GRO code paths. From Paolo Abeni.

    24) Add support for netlink FDB get operations, from Roopa Prabhu.

    25) Support bloom filter in mlxsw driver, from Nir Dotan.

    26) Add SKB extension infrastructure. This consolidates the handling of
    the auxiliary SKB data used by IPSEC and bridge netfilter, and is
    designed to support the needs to MPTCP which could be integrated in
    the future.

    27) Lots of XDP TX optimizations in mlx5 from Tariq Toukan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1845 commits)
    net: dccp: fix kernel crash on module load
    drivers/net: appletalk/cops: remove redundant if statement and mask
    bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw
    net/net_namespace: Check the return value of register_pernet_subsys()
    net/netlink_compat: Fix a missing check of nla_parse_nested
    ieee802154: lowpan_header_create check must check daddr
    net/mlx4_core: drop useless LIST_HEAD
    mlxsw: spectrum: drop useless LIST_HEAD
    net/mlx5e: drop useless LIST_HEAD
    iptunnel: Set tun_flags in the iptunnel_metadata_reply from src
    net/mlx5e: fix semicolon.cocci warnings
    staging: octeon: fix build failure with XFRM enabled
    net: Revert recent Spectre-v1 patches.
    can: af_can: Fix Spectre v1 vulnerability
    packet: validate address length if non-zero
    nfc: af_nfc: Fix Spectre v1 vulnerability
    phonet: af_phonet: Fix Spectre v1 vulnerability
    net: core: Fix Spectre v1 vulnerability
    net: minor cleanup in skb_ext_add()
    net: drop the unused helper skb_ext_get()
    ...

    Linus Torvalds
     
  • Pull modules updates from Jessica Yu:

    - Some modules-related kallsyms cleanups and a kallsyms fix for ARM.

    - Include keys from the secondary keyring in module signature
    verification.

    * tag 'modules-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    ARM: module: Fix function kallsyms on Thumb-2
    module: Overwrite st_size instead of st_info
    module: make it clearer when we're handling kallsyms symbols vs exported symbols
    modsign: use all trusted keys to verify module signature

    Linus Torvalds
     
  • Pull general security subsystem updates from James Morris:
    "The main changes here are Paul Gortmaker's removal of unneccesary
    module.h infrastructure"

    * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    security: integrity: partial revert of make ima_main explicitly non-modular
    security: fs: make inode explicitly non-modular
    security: audit and remove any unnecessary uses of module.h
    security: integrity: make evm_main explicitly non-modular
    keys: remove needless modular infrastructure from ecryptfs_format
    security: integrity: make ima_main explicitly non-modular
    tomoyo: fix small typo

    Linus Torvalds
     
  • Pull selinux patches from Paul Moore:
    "I already used my best holiday pull request lines in the audit pull
    request, so this one is going to be a bit more boring, sorry about
    that. To make up for this, we do have a birthday of sorts to
    celebrate: SELinux turns 18 years old this December. Perhaps not the
    most exciting thing in the world for most people, but I think it's
    safe to say that anyone reading this email doesn't exactly fall into
    the "most people" category.

    Back to business and the pull request itself:

    Ondrej has five patches in this pull request and I lump them into
    three categories: one patch to always allow submounts (using similar
    logic to elsewhere in the kernel), one to fix some issues with the
    SELinux policydb, and the others to cleanup and improve the SELinux
    sidtab.

    The other patches from Alexey and Petr and trivial fixes that are
    adequately described in their respective subject lines.

    With this last pull request of the year, I want to thank everyone who
    has contributed patches, testing, and reviews to the SELinux project
    this year, and the past 18 years. Like any good open source effort,
    SELinux is only as good as the community which supports it, and I'm
    very happy that we have the community we do - thank you all!"

    * tag 'selinux-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
    selinux: overhaul sidtab to fix bug and improve performance
    selinux: use separate table for initial SID lookup
    selinux: make "selinux_policycap_names[]" const char *
    selinux: always allow mounting submounts
    selinux: refactor sidtab conversion
    Documentation: Update SELinux reference policy URL
    selinux: policydb - fix byte order and alignment issues

    Linus Torvalds
     
  • Pull audit updates from Paul Moore:
    "In the finest of holiday of traditions, I have a number of gifts to
    share today. While most of them are re-gifts from others, unlike the
    typical re-gift, these are things you will want in and around your
    tree; I promise.

    This pull request is perhaps a bit larger than our typical PR, but
    most of it comes from Jan's rework of audit's fanotify code; a very
    welcome improvement. We ran this through our normal regression tests,
    as well as some newly created stress tests and everything looks good.

    Richard added a few patches, mostly cleaning up a few things and and
    shortening some of the audit records that we send to userspace; a
    change the userspace folks are quite happy about.

    Finally YueHaibing and I kick in a few patches to simplify things a
    bit and make the code less prone to errors.

    Lastly, I want to say thanks one more time to everyone who has
    contributed patches, testing, and code reviews for the audit subsystem
    over the past year. The project is what it is due to your help and
    contributions - thank you"

    * tag 'audit-pr-20181224' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit: (22 commits)
    audit: remove duplicated include from audit.c
    audit: shorten PATH cap values when zero
    audit: use current whenever possible
    audit: minimize our use of audit_log_format()
    audit: remove WATCH and TREE config options
    audit: use session_info helper
    audit: localize audit_log_session_info prototype
    audit: Use 'mark' name for fsnotify_mark variables
    audit: Replace chunk attached to mark instead of replacing mark
    audit: Simplify locking around untag_chunk()
    audit: Drop all unused chunk nodes during deletion
    audit: Guarantee forward progress of chunk untagging
    audit: Allocate fsnotify mark independently of chunk
    audit: Provide helper for dropping mark's chunk reference
    audit: Remove pointless check in insert_hash()
    audit: Factor out chunk replacement code
    audit: Make hash table insertion safe against concurrent lookups
    audit: Embed key into chunk
    audit: Fix possible tagging failures
    audit: Fix possible spurious -ENOSPC error
    ...

    Linus Torvalds
     
  • Pull printk updates from Petr Mladek:

    - Keep spinlocks busted until the end of panic()

    - Fix races between calculating number of messages that would fit into
    user space buffers, filling the buffers, and switching printk.time
    parameter

    - Some code clean up

    * tag 'printk-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
    printk: Remove print_prefix() calls with NULL buffer.
    printk: fix printk_time race.
    printk: Make printk_emit() local function.
    panic: avoid deadlocks in re-entrant console drivers

    Linus Torvalds
     
  • Pull gcc-plugins update from Kees Cook:
    "Both arm and arm64 are gaining per-task stack canaries (to match x86),
    but arm is being done with a gcc plugin, hence it going through the
    gcc-plugins tree.

    New gcc-plugin:

    - Enable per-task stack protector for ARM (Ard Biesheuvel)"

    * tag 'gcc-plugins-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    ARM: smp: add support for per-task stack canaries

    Linus Torvalds
     
  • Pull pstore updates from Kees Cook:
    "Improvements and refactorings:

    - Improve compression handling

    - Refactor argument handling during initialization

    - Avoid needless locking for saner EFI backend handling

    - Add more kern-doc and improve debugging output"

    * tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore/ram: Avoid NULL deref in ftrace merging failure path
    pstore: Convert buf_lock to semaphore
    pstore: Fix bool initialization/comparison
    pstore/ram: Do not treat empty buffers as valid
    pstore/ram: Simplify ramoops_get_next_prz() arguments
    pstore: Map PSTORE_TYPE_* to strings
    pstore: Replace open-coded << with BIT()
    pstore: Improve and update some comments and status output
    pstore/ram: Add kern-doc for struct persistent_ram_zone
    pstore/ram: Report backend assignments with finer granularity
    pstore/ram: Standardize module name in ramoops
    pstore: Avoid duplicate call of persistent_ram_zap()
    pstore: Remove needless lock during console writes
    pstore: Do not use crash buffer for decompression

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:
    "Notable changes:

    - Mitigations for Spectre v2 on some Freescale (NXP) CPUs.

    - A large series adding support for pass-through of Nvidia V100 GPUs
    to guests on Power9.

    - Another large series to enable hardware assistance for TLB table
    walk on MPC8xx CPUs.

    - Some preparatory changes to our DMA code, to make way for further
    cleanups from Christoph.

    - Several fixes for our Transactional Memory handling discovered by
    fuzzing the signal return path.

    - Support for generating our system call table(s) from a text file
    like other architectures.

    - A fix to our page fault handler so that instead of generating a
    WARN_ON_ONCE, user accesses of kernel addresses instead print a
    ratelimited and appropriately scary warning.

    - A cosmetic change to make our unhandled page fault messages more
    similar to other arches and also more compact and informative.

    - Freescale updates from Scott:
    "Highlights include elimination of legacy clock bindings use from
    dts files, an 83xx watchdog handler, fixes to old dts interrupt
    errors, and some minor cleanup."

    And many clean-ups, reworks and minor fixes etc.

    Thanks to: Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan,
    Aneesh Kumar K.V, Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao,
    Christian Lamparter, Christophe Leroy, Christoph Hellwig, Daniel
    Axtens, Darren Stevens, David Gibson, Diana Craciun, Dmitry V. Levin,
    Firoz Khan, Geert Uytterhoeven, Greg Kurz, Gustavo Romero, Hari
    Bathini, Joel Stanley, Kees Cook, Madhavan Srinivasan, Mahesh
    Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal Suchánek, Naveen
    N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras, Ram Pai,
    Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam
    Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen
    Rothwell, Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian
    Tang, Yue Haibing"

    * tag 'powerpc-4.21-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (201 commits)
    Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask"
    powerpc/zImage: Also check for stdout-path
    powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y
    macintosh: Use of_node_name_{eq, prefix} for node name comparisons
    ide: Use of_node_name_eq for node name comparisons
    powerpc: Use of_node_name_eq for node name comparisons
    powerpc/pseries/pmem: Convert to %pOFn instead of device_node.name
    powerpc/mm: Remove very old comment in hash-4k.h
    powerpc/pseries: Fix node leak in update_lmb_associativity_index()
    powerpc/configs/85xx: Enable CONFIG_DEBUG_KERNEL
    powerpc/dts/fsl: Fix dtc-flagged interrupt errors
    clk: qoriq: add more compatibles strings
    powerpc/fsl: Use new clockgen binding
    powerpc/83xx: handle machine check caused by watchdog timer
    powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved"
    powerpc/fsl_pci: simplify fsl_pci_dma_set_mask
    arch/powerpc/fsl_rmu: Use dma_zalloc_coherent
    vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver
    vfio_pci: Allow regions to add own capabilities
    vfio_pci: Allow mapping extra regions
    ...

    Linus Torvalds
     
  • Caused by making the variable static:

    kernel/sched/fair.c:119:21: warning: 'capacity_margin' defined but not used [-Wunused-variable]

    Seems easiest to just move it up under the existing ifdef CONFIG_SMP
    that's a few lines above.

    Fixes: ed8885a14433a ('sched/fair: Make some variables static')
    Signed-off-by: Olof Johansson
    Signed-off-by: Linus Torvalds

    Olof Johansson
     

27 Dec, 2018

5 commits

  • Pull x86 platform update from Ingo Molnar:
    "An OLPC platform support simplification patch"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/platform/olpc: Do not call of_platform_bus_probe()

    Linus Torvalds
     
  • Pull x86 mm updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Update and clean up x86 fault handling, by Andy Lutomirski.

    - Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
    and related fallout, by Dan Williams.

    - CPA cleanups and reorganization by Peter Zijlstra: simplify the
    flow and remove a few warts.

    - Other misc cleanups"

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
    x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()
    x86/mm/cpa: Rename @addrinarray to @numpages
    x86/mm/cpa: Better use CLFLUSHOPT
    x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function
    x86/mm/cpa: Make cpa_data::numpages invariant
    x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation
    x86/mm/cpa: Simplify the code after making cpa->vaddr invariant
    x86/mm/cpa: Make cpa_data::vaddr invariant
    x86/mm/cpa: Add __cpa_addr() helper
    x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests
    x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
    x86/mm: Validate kernel_physical_mapping_init() PTE population
    generic/pgtable: Introduce set_pte_safe()
    generic/pgtable: Introduce {p4d,pgd}_same()
    generic/pgtable: Make {pmd, pud}_same() unconditionally available
    x86/fault: Clean up the page fault oops decoder a bit
    x86/fault: Decode page fault OOPSes better
    x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code
    x86/oops: Show the correct CS value in show_regs()
    x86/fault: Don't try to recover from an implicit supervisor access
    ...

    Linus Torvalds
     
  • Pull x86 fpu updates from Ingo Molnar:
    "Misc preparatory changes for an upcoming FPU optimization that will
    delay the loading of FPU registers to return-to-userspace"

    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/fpu: Don't export __kernel_fpu_{begin,end}()
    x86/fpu: Update comment for __raw_xsave_addr()
    x86/fpu: Add might_fault() to user_insn()
    x86/pkeys: Make init_pkru_value static
    x86/thread_info: Remove _TIF_ALLWORK_MASK
    x86/process/32: Remove asm/math_emu.h include
    x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset()

    Linus Torvalds
     
  • Pull x86 cpu updates from Ingo Molnar:
    "Misc changes:

    - Fix nr_cpus= boot option interaction bug with logical package
    management

    - Clean up UMIP detection messages

    - Add WBNOINVD instruction detection

    - Remove the unused get_scattered_cpuid_leaf() function"

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/topology: Use total_cpus for max logical packages calculation
    x86/umip: Make the UMIP activated message generic
    x86/umip: Print UMIP line only once
    x86/cpufeatures: Add WBNOINVD feature definition
    x86/cpufeatures: Remove get_scattered_cpuid_leaf()

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Misc cleanups"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/kprobes: Remove trampoline_handler() prototype
    x86/kernel: Fix more -Wmissing-prototypes warnings
    x86: Fix various typos in comments
    x86/headers: Fix -Wmissing-prototypes warning
    x86/process: Avoid unnecessary NULL check in get_wchan()
    x86/traps: Complete prototype declarations
    x86/mce: Fix -Wmissing-prototypes warnings
    x86/gart: Rewrite early_gart_iommu_check() comment

    Linus Torvalds