1. 25 6月, 2013 3 次提交
    • E
      tcp: remove invalid __rcu annotation · 7ae8639c
      Eric Dumazet 提交于
      struct tcp_fastopen_context has a field named tfm, which is a pointer
      to a crypto_cipher structure.
      
      It currently has a __rcu annotation, which is not needed at all.
      
      tcp_fastopen_ctx is the pointer fetched by rcu_dereference(), but once
      we have a pointer to current tcp_fastopen_context, we do not use/need
      rcu_dereference() to access tfm.
      
      This fixes a lot of sparse errors like the following :
      
      net/ipv4/tcp_fastopen.c:21:31: warning: incorrect type in argument 1 (different address spaces)
      net/ipv4/tcp_fastopen.c:21:31:    expected struct crypto_cipher *tfm
      net/ipv4/tcp_fastopen.c:21:31:    got struct crypto_cipher [noderef] <asn:4>*tfm
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jerry Chu <hkchu@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ae8639c
    • D
      net: netlink: virtual tap device management · bcbde0d4
      Daniel Borkmann 提交于
      Similarly to the networking receive path with ptype_all taps, we add
      the possibility to register netdevices that are for ARPHRD_NETLINK to
      the netlink subsystem, so that those can be used for netlink analyzers
      resp. debuggers. We do not offer a direct callback function as out-of-tree
      modules could do crap with it. Instead, a netdevice must be registered
      properly and only receives a clone, managed by the netlink layer. Symbols
      are exported as GPL-only.
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bcbde0d4
    • D
      net: if_arp: add ARPHRD_NETLINK type · 77e2af03
      Daniel Borkmann 提交于
      This small patch adds the definition of ARPHRD_NETLINK which can for
      example be used by netlink monitoring devices as device type. So that
      sockaddr_ll can pick it up and based on that choose the correct packet
      dissector.
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      77e2af03
  2. 24 6月, 2013 1 次提交
  3. 20 6月, 2013 12 次提交
  4. 18 6月, 2013 7 次提交
  5. 15 6月, 2013 2 次提交
    • D
      smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu(). · f21afc25
      David Daney 提交于
      Thanks to commit f91eb62f ("init: scream bloody murder if interrupts
      are enabled too early"), "bloody murder" is now being screamed.
      
      With a MIPS OCTEON config, we use on_each_cpu() in our
      irq_chip.irq_bus_sync_unlock() function.  This gets called in early as a
      result of the time_init() call.  Because the !SMP version of
      on_each_cpu() unconditionally enables irqs, we get:
      
          WARNING: at init/main.c:560 start_kernel+0x250/0x410()
          Interrupts were enabled early
          CPU: 0 PID: 0 Comm: swapper Not tainted 3.10.0-rc5-Cavium-Octeon+ #801
          Call Trace:
            show_stack+0x68/0x80
            warn_slowpath_common+0x78/0xb0
            warn_slowpath_fmt+0x38/0x48
            start_kernel+0x250/0x410
      
      Suggested fix: Do what we already do in the SMP version of
      on_each_cpu(), and use local_irq_save/local_irq_restore.  Because we
      need a flags variable, make it a static inline to avoid name space
      issues.
      
      [ Change from v1: Convert on_each_cpu to a static inline function, add
        #include <linux/irqflags.h> to avoid build breakage on some files.
      
        on_each_cpu_mask() and on_each_cpu_cond() suffer the same problem as
        on_each_cpu(), but they are not causing !SMP bugs for me, so I will
        defer changing them to a less urgent patch. ]
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f21afc25
    • P
      openvswitch: Fix struct comment. · 45bfa52e
      Pravin B Shelar 提交于
      Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: NJesse Gross <jesse@nicira.com>
      45bfa52e
  6. 14 6月, 2013 14 次提交
    • S
      NFC: Send netlink events for secure elements additions and removals · 2757c372
      Samuel Ortiz 提交于
      When an NFC driver or host controller stack discovers a secure element,
      it will call nfc_add_se(). In order for userspace applications to use
      these secure elements, a netlink event will then be sent with the SE
      index and its type. With that information userspace applications can
      decide wether or not to enable SEs, through their indexes.
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      2757c372
    • S
      NFC: Add secure elements addition and removal API · fed7c25e
      Samuel Ortiz 提交于
      This API will allow NFC drivers to add and remove the secure elements
      they know about or detect. Typically this should be called (asynchronously
      or not) from the driver or the host interface stack detect_se hook.
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      fed7c25e
    • S
      NFC: Extend and fix the internal secure element API · 0a946301
      Samuel Ortiz 提交于
      Secure elements need to be discovered after enabling the NFC controller.
      This is typically done by the NCI core and the HCI drivers (HCI does not
      specify how to discover SEs, it is left to the specific drivers).
      Also, the SE enable/disable API explicitely takes a SE index as its
      argument.
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      0a946301
    • S
      NFC: Remove the static supported_se field · 0b456c41
      Samuel Ortiz 提交于
      Supported secure elements are typically found during a discovery process
      initiated when the NFC controller is up and running. For a given NFC
      chipset there can be many configurations (embedded SE or not, with or
      without a SIM card wired to the NFC controller SWP interface, etc...) and
      thus driver code will never know before hand which SEs are available.
      So we remove this field, it will be replaced by a real SE discovery
      mechanism.
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      0b456c41
    • S
      NFC: pn533: Copy NFCID2 through ATR_REQ · 322bce95
      Samuel Ortiz 提交于
      When using NFC-F we should copy the NFCID2 buffer that we got from
      SENSF_RES through the ATR_REQ NFCID3 buffer. Not doing so violates
      NFC Forum digital requirement #189.
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      322bce95
    • F
      NFC: Add NCI over SPI receive · 391d8a2d
      Frederic Danis 提交于
      Before any operation, driver interruption is de-asserted to prevent
      race condition between TX and RX.
      
      Transaction starts by emitting "Direct read" and acknowledged mode
      bytes. Then packet length is read allowing to allocate correct NCI
      socket buffer. After that payload is retrieved.
      
      A delay after the transaction can be added.
      This delay is determined by the driver during nci_spi_allocate_device()
      call and can be 0.
      
      If acknowledged mode is set:
      - CRC of header and payload is checked
      - if frame reception fails (CRC error): NACK is sent
      - if received frame has ACK or NACK flag: unblock nci_spi_send()
      
      Payload is passed to NCI module.
      
      At the end, driver interruption is re asserted.
      Signed-off-by: NFrederic Danis <frederic.danis@linux.intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      391d8a2d
    • F
      NFC: Add NCI over SPI send · ee9596d4
      Frederic Danis 提交于
      Before any operation, driver interruption is de-asserted to prevent
      race condition between TX and RX.
      
      The NCI over SPI header is added in front of NCI packet.
      If acknowledged mode is set, CRC-16-CCITT is added to the packet.
      Then the packet is forwarded to SPI module to be sent.
      
      A delay after the transaction is added.
      This delay is determined by the driver during nci_spi_allocate_device()
      call and can be 0.
      
      After data has been sent, driver interruption is re-asserted.
      
      If acknowledged mode is set, nci_spi_send will block until
      acknowledgment is received.
      Signed-off-by: NFrederic Danis <frederic.danis@linux.intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      ee9596d4
    • F
      NFC: Add basic NCI over SPI · 8a00a61b
      Frederic Danis 提交于
      The NFC Forum defines a transport interface based on
      Serial Peripheral Interface (SPI) for the NFC Controller
      Interface (NCI).
      
      This module implements the SPI transport of NCI, calling SPI module
      directly to read/write data to NFC controller (NFCC).
      
      NFCC driver should provide functions performing device open and close.
      It should also provide functions asserting/de-asserting interruption
      to prevent TX/RX race conditions.
      NFCC driver can also fix a delay between transactions if needed by
      the hardware.
      Signed-off-by: NFrederic Danis <frederic.danis@linux.intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      8a00a61b
    • R
      net/mlx4: Add VF link state support · 948e306d
      Rony Efraim 提交于
      Add support to change the link state of VF (vPort)
      Signed-off-by: NRony Efraim <ronye@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      948e306d
    • R
      net/core: Add VF link state control · 1d8faf48
      Rony Efraim 提交于
      Add netlink directives and ndo entry to allow for controling
      VF link, which can be in one of three states:
      
      Auto - VF link state reflects the PF link state (default)
      
      Up - VF link state is up, traffic from VF to VF works even if
      the actual PF link is down
      
      Down - VF link state is down, no traffic from/to this VF, can be of
      use while configuring the VF
      Signed-off-by: NRony Efraim <ronye@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1d8faf48
    • W
      net-rps: fixes for rps flow limit · 5f121b9a
      Willem de Bruijn 提交于
      Caught by sparse:
      - __rcu: missing annotation to sd->flow_limit
      - __user: direct access in cpumask_scnprintf
      
      Also
      - add endline character when printing bitmap if room in buffer
      - avoid bucket overflow by reducing FLOW_LIMIT_HISTORY
      
      The last item warrants some explanation. The hashtable buckets are
      subject to overflow if FLOW_LIMIT_HISTORY is larger than or equal
      to bucket size, since all packets may end up in a single bucket. The
      current (rather arbitrary) history value of 256 happens to match the
      buffer size (u8).
      
      As a result, with a single flow, the first 128 packets are accepted
      (correct), the second 128 packets dropped (correct) and then the
      history[] array has filled, so that each subsequent new packet
      causes an increment in the bucket for new_flow plus a decrement
      for old_flow: a steady state.
      
      This is fine if packets are dropped, as the steady state goes away
      as soon as a mix of traffic reappears. But, because the 256th packet
      overflowed the bucket to 0: no packets are dropped.
      
      Instead of explicitly adding an overflow check, this patch changes
      FLOW_LIMIT_HISTORY to never be able to overflow a single bucket.
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      (first item)
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f121b9a
    • E
      NFC: HCI: Implement fw_upload ops · 9a695d23
      Eric Lapuyade 提交于
      This is a simple forward to the HCI driver. When driver is done with the
      operation, it shall directly notify NFC Core by calling
      nfc_fw_upload_done().
      Signed-off-by: NEric Lapuyade <eric.lapuyade@intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      9a695d23
    • E
      NFC: Add firmware upload netlink command · 9674da87
      Eric Lapuyade 提交于
      As several NFC chipsets can have their firmwares upgraded and
      reflashed, this patchset adds a new netlink command to trigger
      that the driver loads or flashes a new firmware. This will allows
      userspace triggered firmware upgrade through netlink.
      The firmware name or hint is passed as a parameter, and the driver
      will eventually fetch the firmware binary through the request_firmware
      API.
      The cmd can only be executed when the nfc dev is not in use. Actual
      firmware loading/flashing is an asynchronous operation. Result of the
      operation shall send a new event up to user space through the nfc dev
      multicast socket. During operation, the nfc dev is not openable and
      thus not usable.
      Signed-off-by: NEric Lapuyade <eric.lapuyade@intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      9674da87
    • F
      NFC: NCI: Fix skb->dev usage · 1095e69f
      Frederic Danis 提交于
      skb->dev is used for carrying a net_device pointer and not
      an nci_dev pointer.
      
      Remove usage of skb-dev to carry nci_dev and replace it by parameter
      in nci_recv_frame(), nci_send_frame() and driver send() functions.
      
      NfcWilink driver is also updated to use those functions.
      Signed-off-by: NFrederic Danis <frederic.danis@linux.intel.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      1095e69f
  7. 13 6月, 2013 1 次提交