1. 28 6月, 2013 2 次提交
    • A
      mn10300: Use early_param() to parse "mem=" parameter · e3f12a53
      Akira Takeuchi 提交于
      This fixes the problem that "init=" options may not be passed to kernel
      correctly.
      
      parse_mem_cmdline() of mn10300 arch gets rid of "mem=" string from
      redboot_command_line. Then init_setup() parses the "init=" options from
      static_command_line, which is a copy of redboot_command_line, and keeps
      the pointer to the init options in execute_command variable.
      
      Since the commit 026cee00 upstream (params: <level>_initcall-like kernel
      parameters), static_command_line becomes overwritten by saved_command_line at
      do_initcall_level(). Notice that saved_command_line is a command line
      which includes "mem=" string.
      
      As a result, execute_command may point to weird string by the length of
      "mem=" parameter.
      I noticed this problem when using the command line like this:
      
          mem=128M console=ttyS0,115200 init=/bin/sh
      
      Here is the processing flow of command line parameters.
          start_kernel()
            setup_arch(&command_line)
               parse_mem_cmdline(cmdline_p)
                 * strcpy(boot_command_line, redboot_command_line);
                 * Remove "mem=xxx" from redboot_command_line.
                 * *cmdline_p = redboot_command_line;
            setup_command_line(command_line) <-- command_line is redboot_command_line
              * strcpy(saved_command_line, boot_command_line)
              * strcpy(static_command_line, command_line)
            parse_early_param()
              strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
              parse_early_options(tmp_cmdline);
                parse_args("early options", cmdline, NULL, 0, 0, 0, do_early_param);
            parse_args("Booting ..", static_command_line, ...);
              init_setup() <-- save the pointer in execute_command
            rest_init()
              kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
      
      At this point, execute_command points to "/bin/sh" string.
      
          kernel_init()
            kernel_init_freeable()
              do_basic_setup()
                do_initcalls()
                  do_initcall_level()
                    (*) strcpy(static_command_line, saved_command_line);
      
      Here, execute_command gets to point to "200" string !!
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      e3f12a53
    • A
      mn10300: Allow to pass array name to get_user() · c6dc9f0a
      Akira Takeuchi 提交于
      This fixes the following compile error:
      
      CC block/scsi_ioctl.o
      block/scsi_ioctl.c: In function 'sg_scsi_ioctl':
      block/scsi_ioctl.c:449: error: invalid initializer
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      c6dc9f0a
  2. 27 6月, 2013 14 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 98b6ed0f
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Found via trinity:
      
          If you connect up an ipv6 socket to an ipv4 mapped address then an
          ipv6 one, sendmsg() can croak because ip6_sk_dst_check() assumes the
          route cached in the socket is an ipv6 one.  In this case there is an
          ipv4 route attached, so it gets stomped on.
      
          Reported by Dave Jones and Hannes Frederic Sowa, fixed by Eric
          Dumazet.
      
       2) AF_KEY notifications leak some kernel memory to userspace, fix from
          Mathias Krause.
      
       3) DLCI calls __dev_get_by_name() without proper locking, and dlci_del
          doesn't validate that the device being deleted is actually a DLCI
          one.  Fixes from Li Zefan.
      
       4) Length check on bluetooth l2cap information responses is wrong, each
          response type has a different lenth, so we should make sure it's in
          a given range rather than enforce one single valid length.  From
          Jaganath Kanakkassery.
      
       5) Receive FIFO overflow is really easy to trigger in stress scenerios
          in the sh_eth driver, but the event isn't being handled properly at
          all.  Specifically, the mask of error interrupts doesn't include the
          event so we never clear it, resulting in the driver becomming wedged
          processing an interrupt that never gets cleared.
      
          Fix from Sergei Shtylyov.
      
       6) qlcnic sleeps while holding a spinlock, use mdelay() instead of
          msleep().  From Shahed Shaikh.
      
       7) Missing curly braces causes SIP netfilter NAT module to always drop
          packets.  Fix from Balazs Peter Odor.
      
       8) ipt_ULOG in netfilter passes the wrong value to timer setup, causing
          the timer to dereference crap when it fires.  Fix from Gao Feng.
      
       9) Missing RCU protection around txq->axq_acq traversal in
          ath_txq_schedule().  Fix from Felix Fietkau.
      
      10) Idle state transition test in ath9k_htc_config() is reversed, fix
          from Sujith Manoharan.
      
      11) IPV6 forwarding handles unicast Router Alert packets incorrectly.
          It tests the wrong option state.  Previously opt->ra being non-zero
          indicated a router alert marking in the SKB, but now it's indicated
          by a bit in opt->flags.  Fix from YOSHIFUJI Hideaki.
      
      12) SKB leak in GRE tunnel GSO handling, from Eric Dumazet.
      
      13) get_user_pages_fast() error handling in TUN and MACVTAP use the same
          local variable for the base index and the loop iterator for page
          traversal, oops! Fix from Michael S Tsirkin.
      
      14) ipv6_get_lladdr() can fail, and we must therefore check it's return
          value in inet6_set_iftoken().  For from Hannes Frederic Sowa.
      
      15) If you change an interface name and meanwhile can sneak in something
          that looks up the name (like SO_BINDTODEVICE or SIOCGIFNAME) we can
          deadlock with CONFIG_PREEMPT=n.  Fix this by providing a helper
          function that properly uses raw_seqcount_begin().  From Nicolas
          Schichan.
      
      16) Chain noise calibration test is inverted in iwlwifi, fix from
          Nikolay Martynov.
      
      17) Properly set TX iwlwifi descriptor flags for back requests.  Fix
          from Emmanuel Grumbach.
      
      18) We can't assume skb_transport_header() is set in xt_TCPOPTSTRAP
          module, fix from Pablo Neira Ayuso.
      
      19) Some crummy APs don't provide the proper High Throughput info in
          association response frames.  Add a workaround by assume we'll use
          whatever is in the beacon/probe.  Fix from Johannes Berg.
      
      20) mac80211 call to rate_idx_match_mask() swaps two arguments (mask and
          channel width).  Fix from Simon Wunderlich.
      
      21) xt_TCPMSS (like xt_TCPOPTSTRAP) must not try to handle fragmented
          frames.  Fix from Phil Oester.
      
      22) Fix rate control regression causing iwlwifi/iwlegacy chips to use
          1Mbit/s on pre-11n networks.  From Moshe Benji and Stanslaw Gruszka.
      
      23) Disable brcmsmac power-save functions, they cause regressions.  From
          Arend van Spriel.
      
      24) Enforce a sane minimum MTU in l2cap_build_cmd() otherwise we can
          easily crash.  Fix from Anderson Lizardo.
      
      25) If a learning packet arrives during vxlan_stop() we crash, easily
          fixed by checking netif_running().  From Stephen Hemminger.
      
      26) Static vxlan FDB entries should not be migrated, also from Stephen.
      
      27) skb_clone() failures not handled in vxlan_xmit(), oops.  Also from
          Stephen.
      
      28) Add minimal driver for AR816x/AR817x ethernet chips, from Johannes
          Berg.
      
      29) Fix regression in userspace VLAN acceleration control, added by the
          802.1ad support changes.  Fix from Fernando Luis Vazquez Cao.
      
      30) Interval selection for MLD queries in the bridging code was
          reversed.  Fix from Linus Lüssing.
      
      31) ipv6's ndisc_send_redirect() erroneously writes to the packet we
          received not the packet we are building to send out.  Fix from
          Matthias Schiffer.
      
      32) Don't free netdev before unregistering it, in usb_8dev can driver.
          From Marc Kleine-Budde.
      
      33) Fix nl80211 attribute buffer races, from Johannes Berg.
      
      34) Although netlink_diag.h is under uapi/ it isn't present in Kbuild.
          From Stephen Hemminger.
      
      35) Wrong address and family passed to MD5 key lookups in TCP, from
          Aydin Arik.
      
      36) phy_type attribute created by SFC driver should not be writable.
          From Ben Hutchings.
      
      37) Receive/Transmit queue allocations in pxa168_eth and mv643xx_eth
          should use kzalloc().  Otherwise if setup fails half-way, we'll
          dereference garbage when trying to teardown the rings.  From Lubomir
          Rintel.
      
      38) Fix double-allocation of dst (resulting in unfreeable net device) in
          ipv6's init_loopback().  From Gao Feng.
      
      39) Fix fragmentation handling SKB leak in netfilter conntrack, we were
          freeing the wrong skb pointer.  From Phil Oester.
      
      40) Don't report "-1" (SPEED_UNKNOWN) in bond_miimon_commit(), from
          Nikolay Aleksandrov.
      
      41) davinci_cpdma doesn't check for DMA mapping errors, letting the
          device scribble to random addresses.  From Sebastian Siewior.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
        dlci: validate the net device in dlci_del()
        dlci: acquire rtnl_lock before calling __dev_get_by_name()
        af_key: fix info leaks in notify messages
        ipv6: ip6_sk_dst_check() must not assume ipv6 dst
        net: fix kernel deadlock with interface rename and netdev name retrieval.
        net/tg3: Avoid delay during MMIO access
        ipv6: check return value of ipv6_get_lladdr
        macvtap: fix recovery from gup errors
        tun: fix recovery from gup errors
        gre: fix a possible skb leak
        ipv6: Process unicast packet with Router Alert by checking flag in skb.
        ath9k_htc: Handle IDLE state transition properly
        ath9k: fix an RCU issue in calling ieee80211_get_tx_rates
        netfilter: ipt_ULOG: fix incorrect setting of ulog timer
        netfilter: ctnetlink: send event when conntrack label was modified
        netfilter: nf_nat_sip: fix mangling
        qlcnic: Do not sleep while holding spinlock
        drivers: net: cpsw: fix compilation error with cpsw driver
        tcp: doc : fix the syncookies default value
        sh_eth: fix misreporting of transmit abort
        ...
      98b6ed0f
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 1a506e47
      Linus Torvalds 提交于
      Pull i915 drm fixes from Dave Airlie:
       "These should be the last two fixes for i915, one is for a fence leak
        killing X on some older GPUs, and one is a late regression partial
        revert for an swiotlb/xen/i915 interaction, Konrad has promised to
        figure out the proper answer, and this patch is the best thing to do
        at this stage to avoid regressing"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: make compact dma scatter lists creation work with SWIOTLB backend.
        drm/i915: Restore fences after resume and GPU resets
      1a506e47
    • Z
      dlci: validate the net device in dlci_del() · 578a1310
      Zefan Li 提交于
      We triggered an oops while running trinity with 3.4 kernel:
      
      BUG: unable to handle kernel paging request at 0000000100000d07
      IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
      PGD 640c0d067 PUD 0
      Oops: 0000 [#1] PREEMPT SMP
      CPU 3
      ...
      Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285          /BC11BTSA
      RIP: 0010:[<ffffffffa0109738>]  [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
      ...
      Call Trace:
        [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
        [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
        [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
        [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
        [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
      ...
      
      It's because the net device is not a dlci device.
      Reported-by: NLi Jinyue <lijinyue@huawei.com>
      Signed-off-by: NLi Zefan <lizefan@huawei.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      578a1310
    • Z
      dlci: acquire rtnl_lock before calling __dev_get_by_name() · 11eb2645
      Zefan Li 提交于
      Otherwise the net device returned can be freed at anytime.
      Signed-off-by: NLi Zefan <lizefan@huawei.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      11eb2645
    • M
      af_key: fix info leaks in notify messages · a5cc68f3
      Mathias Krause 提交于
      key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
      the sadb_msg_reserved member of the broadcasted message and thereby
      leak 2 bytes of heap memory to listeners. Fix that.
      Signed-off-by: NMathias Krause <minipli@googlemail.com>
      Cc: Steffen Klassert <steffen.klassert@secunet.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a5cc68f3
    • E
      ipv6: ip6_sk_dst_check() must not assume ipv6 dst · a963a37d
      Eric Dumazet 提交于
      It's possible to use AF_INET6 sockets and to connect to an IPv4
      destination. After this, socket dst cache is a pointer to a rtable,
      not rt6_info.
      
      ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
      various corruptions/crashes can happen.
      
      Dave Jones can reproduce immediate crash with
      trinity -q -l off -n -c sendmsg -c connect
      
      With help from Hannes Frederic Sowa
      Reported-by: NDave Jones <davej@redhat.com>
      Reported-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a963a37d
    • N
      net: fix kernel deadlock with interface rename and netdev name retrieval. · 5dbe7c17
      Nicolas Schichan 提交于
      When the kernel (compiled with CONFIG_PREEMPT=n) is performing the
      rename of a network interface, it can end up waiting for a workqueue
      to complete. If userland is able to invoke a SIOCGIFNAME ioctl or a
      SO_BINDTODEVICE getsockopt in between, the kernel will deadlock due to
      the fact that read_secklock_begin() will spin forever waiting for the
      writer process (the one doing the interface rename) to update the
      devnet_rename_seq sequence.
      
      This patch fixes the problem by adding a helper (netdev_get_name())
      and using it in the code handling the SIOCGIFNAME ioctl and
      SO_BINDTODEVICE setsockopt.
      
      The netdev_get_name() helper uses raw_seqcount_begin() to avoid
      spinning forever, waiting for devnet_rename_seq->sequence to become
      even. cond_resched() is used in the contended case, before retrying
      the access to give the writer process a chance to finish.
      
      The use of raw_seqcount_begin() will incur some unneeded work in the
      reader process in the contended case, but this is better than
      deadlocking the system.
      Signed-off-by: NNicolas Schichan <nschichan@freebox.fr>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5dbe7c17
    • L
      Merge tag 'regulator-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 34a08681
      Linus Torvalds 提交于
      Pull regulator fix from Mark Brown:
       "Fix module loading for tps6586x.
      
        A simple one liner fix to make module loading work for distros
        (product specific kernels tend to have things built in)"
      
      * tag 'regulator-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        mfd: tps6586x: correct device name of the regulator cell
      34a08681
    • L
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 6b935ca2
      Linus Torvalds 提交于
      Pull GPIO regression fix from Grant Likely:
       "It took a while to work out the correct solution to this regression.
        It is sorted now.  This branch was constructed and tested by Tony.
        I've verified that it builds and signed the tag"
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
        gpio/omap: don't use linear domain mapping for OMAP1
      6b935ca2
    • L
      Merge tag 'pm+acpi-3.10-late' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 687058ae
      Linus Torvalds 提交于
      Pull late power management and ACPI fixes from Rafael Wysocki:
       "Sorry about the timing of this, but ACPI-based docking stations with
        PCI devices on them and ATA bays would be hardly usable with 3.10
        without it.  We've been working on these fixes for the last couple of
        weeks and everyone involved appears to be reasonably comfortable with
        them now.
      
        The PM part is one fix for a cpufreq regression introduced recently
      
         - Fix for an ACPI dock regression introduced by the recent rework of
           the ACPI-based PCI hotplug code (acpiphp) that caused it to be
           initialized before the ACPI dock driver, which is incorrect (ACPI
           dock has to be initialized before acpiphp so that acpiphp can
           register PCI devices on docking stations with it for PCI hotplug on
           re-dock to work).  From Jiang Liu.
      
         - Fix for PCI resources allocation in the ACPI-based PCI hotplug code
           (acpiphp) that makes it use the same PCI resources assignment rules
           during runtime hotplug that are used during boot (the BIOS' choices
           are now respected in both cases).  This prevents PCI resource
           allocation failures during hotplug from happening in some cases.
           From Jiang Liu.
      
         - Fix for ordering and synchronization issues during hot-removal of
           PCI devices on docking stations.  It makes the ACPI dock code carry
           out the PCI devices removal synchronously during undock instead of
           spawning a separate asynchronous work item to remove each of them
           without even bothering to wait for all those work items to
           complete.  The hot-addition part is changed analogously.
      
         - Fix for a regression (introduced a few releases ago) that removed
           the code to register a hotplug notificaion handler for for ATA
           ports/devices inadvertently which prevented ATA bays hotplug from
           working.  The missing code is added back with some improvements.
           From Aaron Lu.
      
         - Fix for a recent cpufreq regression causing a NULL pointer
           dereference to trigger in od_set_powersave_bias() in some
           situations from Jacob Shin"
      
      * tag 'pm+acpi-3.10-late' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: fix NULL pointer deference at od_set_powersave_bias()
        libata-acpi: add back ACPI based hotplug functionality
        ACPI / dock / PCI: Synchronous handling of dock events for PCI devices
        PCI / ACPI: Use boot-time resource allocation rules during hotplug
        ACPI / dock: Initialize ACPI dock subsystem upfront
      687058ae
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 54faf77d
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Three small fixlets"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot()
        hw_breakpoint: Fix cpu check in task_bp_pinned(cpu)
        kprobes: Fix arch_prepare_kprobe to handle copy insn failures
      54faf77d
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · e3ff9114
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Another round of ARM fixes.  Largest one is the second half of the
        PJ4B fix which was pushed in the previous -rc - this one was delayed
        because its original caused a build regression while trying to fix a
        regression!
      
        As ever, noMMU gets forgotten when fixing problems on MMU, so we have
        a noMMU fix for a previous fix included in this set.
      
        A couple of fixes from Lorenzo for problems with the ARM DT CPU code,
        and a one liner to remove the buggy 'wait for interrupt' with FA526
        cores"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7773/1: PJ4B: Add support for errata 4742
        ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU
        ARM: 7763/1: kernel: fix __cpu_logical_map default initialization
        ARM: 7762/1: kernel: fix arm_dt_init_cpu_maps() to skip non-cpu nodes
        ARM: 7760/1: cpu_fa526_do_idle: remove WFI
      e3ff9114
    • L
      Merge tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe · de6e1317
      Linus Torvalds 提交于
      Pull FCoE fix from Robert W Love:
       "This patch fixes a critical bug that was introduced in 3.9 related to
        VLAN tagging FCoE frames"
      
      * tag 'critical_fix_for_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rwlove/fcoe:
        fcoe: Use correct API to set vlan tag for FCoE Ethertype skbs
      de6e1317
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 78750f19
      Linus Torvalds 提交于
      Pull Ceph fix from Sage Weil:
       "This fixes another problem with using v2 images on 3.10 due to the
        order in which fields are read from the image header.
      
        Hopefully this is the last one"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        rbd: fetch object order before using it
      78750f19
  3. 26 6月, 2013 17 次提交
  4. 25 6月, 2013 7 次提交
    • L
      Merge tag 'spi-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · f97f7d2d
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "A few last minute SPI updates: fix a missized allocation and use
        atomic allocations in atomic context in the PXA driver, and fix the
        checking of return codes in the S3C64xx driver which caused spurious
        errors under heavy load."
      
      * tag 'spi-v3.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi/pxa2xx: fix memory corruption due to wrong size used in devm_kzalloc()
        spi/pxa2xx: use GFP_ATOMIC in sg table allocation
        spi: s3c64xx: Fix pm_runtime_get_sync() return value check
      f97f7d2d
    • K
      drm/i915: make compact dma scatter lists creation work with SWIOTLB backend. · 426729dc
      Konrad Rzeszutek Wilk 提交于
      Git commit 90797e6d
      ("drm/i915: create compact dma scatter lists for gem objects") makes
      certain assumptions about the under laying DMA API that are not always
      correct.
      
      On a ThinkPad X230 with an Intel HD 4000 with Xen during the bootup
      I see:
      
      [drm:intel_pipe_set_base] *ERROR* pin & fence failed
      [drm:intel_crtc_set_config] *ERROR* failed to set mode on [CRTC:3], err = -28
      
      Bit of debugging traced it down to dma_map_sg failing (in
      i915_gem_gtt_prepare_object) as some of the SG entries were huge (3MB).
      
      That unfortunately are sizes that the SWIOTLB is incapable of handling -
      the maximum it can handle is a an entry of 512KB of virtual contiguous
      memory for its bounce buffer. (See IO_TLB_SEGSIZE).
      
      Previous to the above mention git commit the SG entries were of 4KB, and
      the code introduced by above git commit squashed the CPU contiguous PFNs
      in one big virtual address provided to DMA API.
      
      This patch is a simple semi-revert - were we emulate the old behavior
      if we detect that SWIOTLB is online. If it is not online then we continue
      on with the new compact scatter gather mechanism.
      
      An alternative solution would be for the the '.get_pages' and the
      i915_gem_gtt_prepare_object to retry with smaller max gap of the
      amount of PFNs that can be combined together - but with this issue
      discovered during rc7 that might be too risky.
      Reported-and-Tested-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      CC: Imre Deak <imre.deak@intel.com>
      CC: Daniel Vetter <daniel.vetter@ffwll.ch>
      CC: David Airlie <airlied@linux.ie>
      CC: <dri-devel@lists.freedesktop.org>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      426729dc
    • D
      Merge tag 'drm-intel-fixes-2013-06-24' of... · 0d20299d
      Dave Airlie 提交于
      Merge tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
      
      One remaining regression fix for i915. I've left it in -fixes for more
      than a week since it's in tricky code, and it took us a few kernel
      releases to notice the regression at all. The fence leak is especially
      annoying on gen2/3 and will kill userspace there quickly. For extra
      paranoia we've added a WARN in -next to catch this, things seem to be
      solid now.
      
      * tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: Restore fences after resume and GPU resets
      0d20299d
    • A
      libata-acpi: add back ACPI based hotplug functionality · 44521527
      Aaron Lu 提交于
      Commit 30dcf76a "libata: migrate ACPI code over to new bindings"
      mistakenly dropped the code to register hotplug notificaion handler
      for ATA port/devices, causing regression for people using ATA bay,
      as kernel bug #59871 shows.
      
      Fix this by adding back the hotplug notification handler registration
      code.  Since this code has to be run once and notification needs to
      be installed on every ATA port/devices handle no matter if there is
      actual device attached, we can't do this in binding time for ATA
      device ACPI handle, as the binding only occurs when a SCSI device is
      created, i.e. there is device attached.  So introduce the
      ata_acpi_hotplug_init() function to loop scan all ATA ACPI handles
      and if it is available, install the notificaion handler for it during
      ATA init time.
      
      With the ATA ACPI handle binding to SCSI device tree, it is possible
      now that when the SCSI hotplug work removes the SCSI device, the ACPI
      unbind function will find that the corresponding ACPI device has
      already been deleted by dock driver, causing a scaring message like:
      [  128.263966] scsi 4:0:0:0: Oops, 'acpi_handle' corrupt
      Fix this by waiting for SCSI hotplug task finish in our notificaion
      handler, so that the removal of ACPI device done in ACPI unbind
      function triggered by the removal of SCSI device is run earlier when
      ACPI device is still available.
      
      [rjw: Rebased]
      References: https://bugzilla.kernel.org/show_bug.cgi?id=59871Reported-bisected-and-tested-by: NDirk Griesbach <spamthis@freenet.de>
      Signed-off-by: NAaron Lu <aaron.lu@intel.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Cc: 3.6+ <stable@vger.kernel.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      44521527
    • R
      powerpc/pci: Fix boot panic on mpc83xx (regression) · b37e1613
      Rojhalat Ibrahim 提交于
      The following commit caused a fatal oops when booting on mpc83xx with
      a non-express PCI bus (regardless of whether a PCI device is present):
      
      commit 50d8f87d
      Author: Rojhalat Ibrahim <imr@rtschenk.de>
      Date:   Mon Apr 8 10:15:28 2013 +0200
      
          powerpc/fsl-pci Make PCIe hotplug work with Freescale PCIe controllers
      
          Up to now the PCIe link status on Freescale PCIe controllers was only
          checked once at boot time. So hotplug did not work. With this patch the
          link status is checked on every config read. PCIe devices not present at
          boot time are found after doing 'echo 1 >/sys/bus/pci/rescan'.
      Signed-off-by: NRojhalat Ibrahim <imr@rtschenk.de>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      
      This patch fixes the issue by calling setup_indirect_pci for all device types.
      fsl_indirect_read_config is now only used for booke/86xx PCIe controllers.
      Reported-by: NMichael Guntsche <mike@it-loops.com>
      Cc: Scott Wood <scottwood@freescale.com>
      Signed-off-by: NRojhalat Ibrahim <imr@rtschenk.de>
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      b37e1613
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · a3d9dd89
      David S. Miller 提交于
      Pablo Neira Ayuso says:
      
      ====================
      The following patchset contains five fixes for Netfilter/IPVS, they are:
      
      * A skb leak fix in fragmentation handling in case that helpers are in place,
        it occurs since the IPV6 NAT infrastructure, from Phil Oester.
      
      * Fix SCTP port mangling in ICMP packets for IPVS, from Julian Anastasov.
      
      * Fix event delivery in ctnetlink regarding the new connlabel infrastructure,
        from Florian Westphal.
      
      * Fix mangling in the SIP NAT helper, from Balazs Peter Odor.
      
      * Fix crash in ipt_ULOG introduced while adding netnamespace support,
        from Gao Feng.
      
      I'll take care of passing several of these patches to -stable once they hit
      Linus' tree.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3d9dd89
    • J