1. 16 Jan, 2013 22 commits
  2. 15 Jan, 2013 14 commits
  3. 14 Jan, 2013 4 commits
    • David S. Miller's avatar
      Merge branch 'master' of git://1984.lsi.us.es/nf · 47fb3a26
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      The following patchset contains netfilter fixes for 3.8-rc3,
      they are:
      
      * fix possible BUG_ON if several netns are in use and the nf_conntrack
        module is removed, initial patch from Gao feng, final patch from myself.
      
      * fix unset return value if conntrack zone are disabled at
        compile-time, reported by Borislav Petkov, fix from myself.
      
      * fix display error message via dmesg for arp_tables, from Jan Engelhardt.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47fb3a26
    • Paul Moore's avatar
      tun: fix LSM/SELinux labeling of tun/tap devices · 5dbbaf2d
      Paul Moore authored
      This patch corrects some problems with LSM/SELinux that were introduced
      with the multiqueue patchset.  The problem stems from the fact that the
      multiqueue work changed the relationship between the tun device and its
      associated socket; before the socket persisted for the life of the
      device, however after the multiqueue changes the socket only persisted
      for the life of the userspace connection (fd open).  For non-persistent
      devices this is not an issue, but for persistent devices this can cause
      the tun device to lose its SELinux label.
      
      We correct this problem by adding an opaque LSM security blob to the
      tun device struct which allows us to have the LSM security state, e.g.
      SELinux labeling information, persist for the lifetime of the tun
      device.  In the process we tweak the LSM hooks to work with this new
      approach to TUN device/socket labeling and introduce a new LSM hook,
      security_tun_dev_attach_queue(), to approve requests to attach to a
      TUN queue via TUNSETQUEUE.
      
      The SELinux code has been adjusted to match the new LSM hooks, the
      other LSMs do not make use of the LSM TUN controls.  This patch makes
      use of the recently added "tun_socket:attach_queue" permission to
      restrict access to the TUNSETQUEUE operation.  On older SELinux
      policies which do not define the "tun_socket:attach_queue" permission
      the access control decision for TUNSETQUEUE will be handled according
      to the SELinux policy's unknown permission setting.
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      Acked-by: default avatarEric Paris <eparis@parisplace.org>
      Tested-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5dbbaf2d
    • Paul Moore's avatar
      selinux: add the "attach_queue" permission to the "tun_socket" class · 6f96c142
      Paul Moore authored
      Add a new permission to align with the new TUN multiqueue support,
      "tun_socket:attach_queue".
      
      The corresponding SELinux reference policy patch is show below:
      
       diff --git a/policy/flask/access_vectors b/policy/flask/access_vectors
       index 28802c5..a0664a1 100644
       --- a/policy/flask/access_vectors
       +++ b/policy/flask/access_vectors
       @@ -827,6 +827,9 @@ class kernel_service
      
        class tun_socket
        inherits socket
       +{
       +       attach_queue
       +}
      
        class x_pointer
        inherits x_device
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      Acked-by: default avatarEric Paris <eparis@parisplace.org>
      Tested-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f96c142
    • Eric Dumazet's avatar
      tcp: fix a panic on UP machines in reqsk_fastopen_remove · cce894bb
      Eric Dumazet authored
      spin_is_locked() on a non !SMP build is kind of useless.
      
      BUG_ON(!spin_is_locked(xx)) is guaranteed to crash.
      
      Just remove this check in reqsk_fastopen_remove() as
      the callers do hold the socket lock.
      Reported-by: default avatarKetan Kulkarni <ketkulka@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Jerry Chu <hkchu@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Dave Taht <dave.taht@gmail.com>
      Acked-by: default avatarH.K. Jerry Chu <hkchu@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cce894bb