1. 14 Jan, 2013 17 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
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux · 3152ba0f
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       "Two fixes to prevent unconditional re-compile of dts files on arm and
        arm64."
      
      * tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux:
        ARM: dts: prevent *.dtb from always being rebuilt
        arm64: dts: prevent *.dtb from always being rebuilt
      3152ba0f
    • Linus Torvalds's avatar
      vfs: add missing virtual cache flush after editing partial pages · 6d283dba
      Linus Torvalds authored
      Andrew Morton pointed this out a month ago, and then I completely forgot
      about it.
      
      If we read a partial last page of a block device, we will zero out the
      end of the page, but since that page can then be mapped into user space,
      we should also make sure to flush the cache on architectures that have
      virtual caches.  We have the flush_dcache_page() function for this, so
      use it.
      
      Now, in practice this really never matters, because nobody sane uses
      virtual caches to begin with, and they largely exist on old broken RISC
      arhitectures.
      
      And even if you did run on one of those obsolete CPU's, the whole "mmap
      and access the last partial page of a block device" behavior probably
      doesn't actually exist.  The normal IO functions (read/write) will never
      see the zeroed-out part of the page that migth not be coherent in the
      cache, because they honor the size of the device.
      
      So I'm marking this for stable (3.7 only), but I'm not sure anybody will
      ever care.
      Pointed-out-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: stable@vger.kernel.org  # 3.7
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d283dba
    • Linus Torvalds's avatar
      Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9bbcbad4
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Most of commits found here are for ASoC device specific fixes,
        arizona, cs4271, wm5102, wm2200, etc, in addition to a couple of
        memory leak fixes in ASoC core.
      
        Other than that, regression fixes in HD-audio and USB-audio, and a fix
        for new Realtek codecs."
      
      * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits)
        ALSA: usb-audio: Fix NULL dereference by access to non-existing substream
        ALSA: hda - Add support of new codec ALC284
        ALSA: usb-audio: Make ebox44_table static
        ALSA: hdspm - Fix wordclock status on AES32
        Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"
        ALSA: hda - Disable runtime D3 for Intel CPT & co
        ALSA: pxa27x: fix ac97 warm reset
        ALSA: pxa27x: fix ac97 cold reset
        ASoC: wm_adsp: Ensure that block writes are from DMA aligned addresses
        ASoC: wm2000: Fix sense of speech clarity enable
        ASoC: wm5100: Remove DSP B and left justified formats
        ASoC: arizona: Remove DSP B and left justified AIF modes
        ASoC: wm2200: Remove DSP B and left justified AIF modes
        ASoC: wm5102: Improve speaker enable performance
        ASoC: core: fix the memory leak in case of remove_aux_dev()
        ASoC: core: fix the memory leak in case of device_add() failure
        ASoC: cs42l52: Catch no-match case in cs42l52_get_clk
        ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-B
        ASoC: lm49453: Fix adc, mic and sidetone volume ranges
        ASoC: arizona: Correct FLL source definitions
        ...
      9bbcbad4
    • Linus Torvalds's avatar
      Merge tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b87fc3e6
      Linus Torvalds authored
      Pull staging fixes from Greg Kroah-Hartman:
       "Here are a number of small fixes to staging drivers for your 3.8-rc3
        tree.
      
        Well, the omapdrm fixes aren't really "small" but they were waiting on
        a number of other drm patches to go in through the drm tree, and got
        delayed by my vacation over the holidays.  They are totally
        self-contained, everyone involved have acked them, and they fix issues
        that people have been having with the driver.
      
        Other than that one, it's a bunch of tiny bugfixes for a number of
        reported issues.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (36 commits)
        staging: zram: fix invalid memory references during disk write
        staging: tidspbridge: use prepare/unprepare on dsp clocks
        staging: tidspbridge: Fix build breakage due to splitting CM functions.
        staging: comedi: comedi_test: fix race when cancelling command
        staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC
        staging: comedi: prevent auto-unconfig of manually configured devices
        staging: comedi: fix minimum AO period for NI 625x and NI 628x
        staging: vme_pio2: fix oops on module unloading
        staging: speakup: avoid out-of-range access in synth_add()
        staging: speakup: avoid out-of-range access in synth_init()
        staging: rtl8192e: Fix failure to check pci_map_single()
        staging: rtl8187se: Fix failure to check pci_map_single()
        staging: drm/imx: fix double free bug in error path
        staging: drm/imx: several bug fixes
        staging: drm/imx: check return value of ipu_reset()
        staging: drm/omap: fix flags in dma buf exporting
        staging: drm/omap: use omapdss low level API
        staging/fwserial: Update TODO file per reviewer comments
        staging/fwserial: Limit tx/rx to 1394-2008 spec maximum
        staging/fwserial: Refine Kconfig help text
        ...
      b87fc3e6
    • Linus Torvalds's avatar
      Merge tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 46fed0a5
      Linus Torvalds authored
      Pull USB fixes from Greg Kroah-Hartman:
       "Here are a bunch of USB fixes for your 3.8-rc3 tree.  They all either
        fix problems that have been reported (like the xhci/hub changes) or
        add new device ids to existing drivers.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (39 commits)
        usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added
        usb: host: ohci-tmio: fix compile warning
        USB: Add device quirk for Microsoft VX700 webcam
        USB: ehci-fsl: fix regression on mpc5121e
        usb: chipidea: Allow disabling streaming not only in udc mode
        USB: fsl-mph-dr-of: fix regression on mpc5121e
        USB: select USB_ARCH_HAS_EHCI for MXS
        USB: hub: handle claim of enabled remote wakeup after reset
        USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i"
        USB: option: add Nexpring NP10T terminal id
        USB: option: add Telekom Speedstick LTE II
        USB: option: blacklist network interface on ZTE MF880
        usb: imx21-hcd: Include missing linux/module.h
        USB: option: Add new MEDIATEK PID support
        USB: ehci: make debug port in-use detection functional again
        USB: usbtest: fix test number in log message
        xhci: Avoid "dead ports", add roothub port polling.
        USB: Handle warm reset failure on empty port.
        USB: Ignore port state until reset completes.
        USB: Increase reset timeout.
        ...
      46fed0a5
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 3441f0d2
      Linus Torvalds authored
      Pull driver core fixes from Greg Kroah-Hartman:
       "Here are two patches for 3.8-rc3.
      
        One removes the __dev* defines from init.h now that all usages of it
        are gone from your tree.  The other fix is for debugfs's paramater
        that was using the wrong base for the option.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        debugfs: convert gid= argument from decimal, not octal
        Remove __dev* markings from init.h
      3441f0d2
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6a0e2ca
      Linus Torvalds authored
      Pull char/misc fix from Greg Kroah-Hartman:
       "Here is a single fix for the mei driver that resolves a reported
        issue.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: fix mismatch in mutex unlock-lock in mei_amthif_read()
      f6a0e2ca
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 7f1825da
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too astounding
      
         - nouveau: bunch of regression fixes and oops fixes
         - radeon: UMS fixes, rn50 fix, dma fix
         - udl: fix EDID retrieval for large EDIDs."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        udldrmfb: udl_get_edid: drop unneeded i--
        udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack
        udldrmfb: Fix EDID not working with monitors with EDID extension blocks
        drm/nvc0/fb: fix crash when different mutex is used to protect same list
        drm/nouveau/clock: fix support for more than 2 monitors on nve0
        drm/nv50/disp: fix selection of bios script for analog outputs
        drm/nv17-50: restore fence buffer on resume
        drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards
        drm/nouveau: fix nouveau_client allocation failure path
        drm/nouveau: don't return freed object from nouveau_handle_create
        drm/nouveau/vm: fix memory corruption when pgt allocation fails
        drm/nouveau: add locking around instobj list operations
        drm/nouveau: do not forcibly power on lvds panels
        drm/nouveau/devinit: ensure legacy vga control is enabled during post
        radeon/kms: fix dma relocation checking
        radeon/kms: force rn50 chip to always report connected on analog output
        drm/radeon: fix error path in kpage allocation
        drm/radeon: fix a bogus kfree
        drm/radeon: fix NULL pointer dereference in UMS mode
      7f1825da
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6843cc0e
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix regression allowing IP_TTL setting of zero, fix from Cong Wang.
      
       2) Fix leak regressions in tunap, from Jason Wang.
      
       3) be2net driver always returns IRQ_HANDLED in INTx handler, fix from
          Sathya Perla.
      
       4) qlge doesn't really support NETIF_F_TSO6, don't set that flag.  Fix
          from Amerigo Wang.
      
       5) Add 802.11ad Atheros wil6210 driver, from Vladimir Kondratiev.
      
       6) Fix MTU calculations in mac80211 layer, from T Krishna Chaitanya.
      
       7) Station info layer of mac80211 needs to use del_timer_sync(), from
          Johannes Berg.
      
       8) tcp_read_sock() can loop forever, because we don't immediately stop
          when recv_actor() returns zero.  Fix from Eric Dumazet.
      
       9) Fix WARN_ON() in tcp_cleanup_rbuf().  We have to use sk_eat_skb() in
          tcp_recv_skb() to handle the case where a large GRO packet is split
          up while it is use by a splice() operation.  Fix also from Eric
          Dumazet.
      
      10) addrconf_get_prefix_route() in ipv6 tests flags incorrectly, it
          does:
      
              if (X && (p->flags & Y) != 0)
      
          when it really meant to go:
      
              if (X && (p->flags & X) != 0)
      
          fix from Romain Kuntz.
      
      11) Fix lost Kconfig dependency for bfin_mac driver hardware
          timestamping.  From Lars-Peter Clausen.
      
      12) Fix regression in handling of RST without ACK in TCP, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (37 commits)
        be2net: fix unconditionally returning IRQ_HANDLED in INTx
        tuntap: fix leaking reference count
        tuntap: forbid calling TUNSETIFF when detached
        tuntap: switch to use rtnl_dereference()
        net, wireless: overwrite default_ethtool_ops
        qlge: remove NETIF_F_TSO6 flag
        tcp: accept RST without ACK flag
        net: ethernet: xilinx: Do not use NO_IRQ in axienet
        net: ethernet: xilinx: Do not use axienet on PPC
        bnx2x: Allow management traffic after boot from SAN
        bnx2x: Fix fastpath structures when memory allocation fails
        bfin_mac: Restore hardware time-stamping dependency on BF518
        tun: avoid owner checks on IFF_ATTACH_QUEUE
        bnx2x: move debugging code before the return
        tuntap: refuse to re-attach to different tun_struct
        ipv6: use addrconf_get_prefix_route for prefix route lookup [v2]
        ipv6: fix the noflags test in addrconf_get_prefix_route
        tcp: fix splice() and tcp collapsing interaction
        tcp: splice: fix an infinite loop in tcp_read_sock()
        net: prevent setting ttl=0 via IP_TTL
        ...
      6843cc0e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7c8284c3
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Add finit_module syscall entry.
      
       2) Remove stray __dev{init,exit} references, from Sam Ravnborg.
      
      Fix up conflicts in the sparc PCI code due to whitespace differences in
      the __dev{init,exit} removal (which also came in through Greg).
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: remove __devinit, __devexit annotations
        sparc: Hook up finit_module syscall.
      7c8284c3
    • Stephen Warren's avatar
      ARM: dts: prevent *.dtb from always being rebuilt · 1ab36812
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt.
      
      This fixes a regression introduced by the .dtb rule rework in 499cd829
      "ARM: dt: change .dtb build rules to build in dts directory".
      Reported-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      1ab36812
    • Stephen Warren's avatar
      arm64: dts: prevent *.dtb from always being rebuilt · d0b6a548
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt. Note
      
      This fixes a regression introduced by the .dtb rule rework in da4cbc6
      "arm64: use new common dtc rule", although since arm64 doesn't actually
      have any *.dts yet, this isn't a critical issue.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      d0b6a548
    • Nitin Gupta's avatar
      staging: zram: fix invalid memory references during disk write · 397c6066
      Nitin Gupta authored
      Fixes a bug introduced by commit c8f2f0db ("zram: Fix handling
      of incompressible pages") which caused invalid memory references
      during disk write. Invalid references could occur in two cases:
       - Incoming data expands on compression: In this case, reference was
      made to kunmap()'ed bio page.
       - Partial (non PAGE_SIZE) write with incompressible data: In this
      case, reference was made to a kfree()'ed buffer.
      
      Fixes bug 50081:
      https://bugzilla.kernel.org/show_bug.cgi?id=50081Signed-off-by: default avatarNitin Gupta <ngupta@vflare.org>
      Cc: stable <stable@vger.kernel.org>
      Reported-by: default avatarMihail Kasadjikov <hamer.mk@gmail.com>
      Reported-by: default avatarTomas M <tomas@slax.org>
      Reviewed-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      397c6066
  2. 13 Jan, 2013 18 commits
  3. 12 Jan, 2013 5 commits
    • Sathya Perla's avatar
      be2net: fix unconditionally returning IRQ_HANDLED in INTx · d0b9cec3
      Sathya Perla authored
      commit e49cc34f introduced an unconditional IRQ_HANDLED return in be_intx()
      to workaround Lancer and BE2 HW issues. This is bad as it prevents the kernel
      from detecting interrupt storms due to broken HW.
      
      The BE2/Lancer HW issues are:
      1) In Lancer, there is no means for the driver to detect if the interrupt
      belonged to device, other than counting and notifying events.
      2) In Lancer de-asserting INTx takes a while, causing the INTx irq handler
      to be called multiple times till the de-assert happens.
      3) In BE2, we see an occasional interrupt even when EQs are unarmed.
      
      Issue (1) can cause the notified events to be orphaned, if NAPI was already
      running.
      This patch fixes this issue by scheduling NAPI only if it is not scheduled
      already. Doing this also takes care of possible events_get() race that may be
      caused due to issue (2) and (3). Also, IRQ_HANDLED is returned only the first
      time zero events are detected.
      (Thanks Ben H. for the feedback and suggestions.)
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0b9cec3
    • Sam Ravnborg's avatar
      sparc: remove __devinit, __devexit annotations · b7c13f76
      Sam Ravnborg authored
      __devinit, __devexit annotations are nops - so drop them.
      Likewise for __devexit_p.
      
      Adjusted alignment of arguments when needed.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7c13f76
    • Pablo Neira Ayuso's avatar
      netfilter: nf_conntrack: fix BUG_ON while removing nf_conntrack with netns · 1e47ee83
      Pablo Neira Ayuso authored
      canqun zhang reported that we're hitting BUG_ON in the
      nf_conntrack_destroy path when calling kfree_skb while
      rmmod'ing the nf_conntrack module.
      
      Currently, the nf_ct_destroy hook is being set to NULL in the
      destroy path of conntrack.init_net. However, this is a problem
      since init_net may be destroyed before any other existing netns
      (we cannot assume any specific ordering while releasing existing
      netns according to what I read in recent emails).
      
      Thanks to Gao feng for initial patch to address this issue.
      Reported-by: default avatarcanqun zhang <canqunzhang@gmail.com>
      Acked-by: default avatarGao feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      1e47ee83
    • Jason Wang's avatar
      tuntap: fix leaking reference count · dd38bd85
      Jason Wang authored
      Reference count leaking of both module and sock were found:
      
      - When a detached file were closed, its sock refcnt from device were not
        released, solving this by add the sock_put().
      - The module were hold or drop unconditionally in TUNSETPERSIST, which means we
        if we set the persist flag for N times, we need unset it for another N
        times. Solving this by only hold or drop an reference when there's a flag
        change and also drop the reference count when the persist device is deleted.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd38bd85
    • Jason Wang's avatar
      tuntap: forbid calling TUNSETIFF when detached · 7c0c3b1a
      Jason Wang authored
      Michael points out that even after Stefan's fix the TUNSETIFF is still allowed
      to create a new tap device. This because we only check tfile->tun but the
      tfile->detached were introduced. Fix this by failing early in tun_set_iff() if
      the file is detached. After this fix, there's no need to do the check again in
      tun_set_iff(), so this patch removes it.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c0c3b1a