Skip to content
  1. Nov 17, 2012
    • Michel Lespinasse's avatar
      mm: add anon_vma_lock to validate_mm() · 63c3b902
      Michel Lespinasse authored
      
      
      Iterating over the vma->anon_vma_chain without anon_vma_lock may cause
      NULL ptr deref in anon_vma_interval_tree_verify(), because the node in the
      chain might have been removed.
      
        BUG: unable to handle kernel paging request at fffffffffffffff0
        IP: [<ffffffff8122c29c>] anon_vma_interval_tree_verify+0xc/0xa0
        PGD 4e28067 PUD 4e29067 PMD 0
        Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
        CPU 0
        Pid: 9050, comm: trinity-child64 Tainted: G        W    3.7.0-rc2-next-20121025-sasha-00001-g673f98e-dirty #77
        RIP: 0010: anon_vma_interval_tree_verify+0xc/0xa0
        Process trinity-child64 (pid: 9050, threadinfo ffff880045f80000, task ffff880048eb0000)
        Call Trace:
          validate_mm+0x58/0x1e0
          vma_adjust+0x635/0x6b0
          __split_vma.isra.22+0x161/0x220
          split_vma+0x24/0x30
          sys_madvise+0x5da/0x7b0
          tracesys+0xe1/0xe6
        RIP  anon_vma_interval_tree_verify+0xc/0xa0
        CR2: fffffffffffffff0
      
      Figured out by Bob Liu.
      
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Cc: Bob Liu <lliubbo@gmail.com>
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      63c3b902
  2. Nov 16, 2012
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/gxt/linux · c5e35d6c
      Linus Torvalds authored
      Pull unicore32 update from Guan Xuetao.
      
      * tag 'for-linus' of git://github.com/gxt/linux:
        arch/unicore32: remove CONFIG_EXPERIMENTAL
        unicore32: switch to generic sys_execve()
        unicore32: switch to generic kernel_thread()/kernel_execve()
        unicore32: Use Kbuild infrastructure for kvm_para.h
        UAPI: (Scripted) Disintegrate arch/unicore32/include/asm
        UniCore32-bugfix: Remove definitions in asm/bug.h to solve difference between native and cross compiler
        UniCore32-bugfix: fix mismatch return value of __xchg_bad_pointer
        UniCore32 bugfix: add missed CONFIG_ZONE_DMA
        unicore32/mm/fault.c: Port OOM changes to do_pf
      c5e35d6c
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.7-rc6' of git://git.infradead.org/linux-ubifs · ce95a36b
      Linus Torvalds authored
      Pull UBIFS fixes from Artem Bityutskiy:
       "Two patches which fix a problem reported by several people in the
        past, but only fixed now because no one gave enough material for
        debugging.
      
        Anyway, these fix the problem that sometimes after a power cut the
        file-system is not mountable with the following symptom:
      
      	grab_empty_leb: could not find an empty LEB
      
        The fixes make the file-system mountable again."
      
      * tag 'upstream-3.7-rc6' of git://git.infradead.org/linux-ubifs:
        UBIFS: fix mounting problems after power cuts
        UBIFS: introduce categorized lprops counter
      ce95a36b
    • Linus Torvalds's avatar
      Merge tag 'for-v3.7-fixes' of git://git.infradead.org/users/cbou/linux-pstore · 006b9568
      Linus Torvalds authored
      Pull pstore fix from Anton Vorontsov:
       "A small fixup for the persistent storage subsystem.  The bug can
        prevent kernel booting on a APEI-enabled machines w/ PSTORE_CONSOLE=y
        (this is N by default, though)."
      
      * tag 'for-v3.7-fixes' of git://git.infradead.org/users/cbou/linux-pstore:
        pstore: Fix NULL pointer dereference in console writes
      006b9568
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · e8017454
      Linus Torvalds authored
      Pill i2c fixes from Jean Delvare.
      
      Well, "fixes"..  The biggest patch here is actually Jan marking Wolfram
      Sang as the main i2c subsystem maintainer, with Jan staying on as the PC
      controller maintainer.
      
      * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        i2c-mux-pinctrl: Fix probe error path
        MAINTAINERS: i2c: 7 years, this is it
      e8017454
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 7c96cfcd
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "A few fixes for teardown issues that will be rarely seen, plus a fix
        for a silly bug in regulator_is_supported_voltage() which shows how
        often the answer to the question should be false.
      
        The supported voltage commit is very new as I just edited to add a Cc
        to stable, the code itself has been in -next."
      
      * tag 'regulator-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: fix voltage check in regulator_is_supported_voltage()
        regulator: core: Avoid deadlock when regulator_register fails
        Regulator: core: Unregister when gpio request fails.
      7c96cfcd
    • Linus Torvalds's avatar
      Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 38216134
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The only large LOC is seen in WM5102 driver, just writing a bunch of
        register updates, but the actual code change is small.  Other than
        that, all small fixes suitable for rc6."
      
      * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio: Fix mutex deadlock at disconnection
        ALSA: fm801: precedence bug in snd_fm801_tea575x_get_pins()
        ALSA: es1968: precedence bug in snd_es1968_tea575x_get_pins()
        ALSA: hda - Add a missing quirk entry for iMac 9,1
        ASoC: core: Double control update err for snd_soc_put_volsw_sx
        ASoC: dapm: Use card_list during DAPM shutdown
        ASoC: cs42l52: fix the return value of cs42l52_set_fmt()
        ASoC: bells: Correct type in sub speaker DAI name for WM5102
        ASoC: wm8978: pll incorrectly configured when codec is master
        ASoC: mxs-saif: Fix channel swap for 24-bit format
        ASoC: bells: Select WM1250-EV1 Springbank audio I/O module
        ASoC: bells: Add missing select of WM0010
        ASoC: mxs-saif: Add MODULE_ALIAS
        ASoC: wm5102: Write register value corrections after SYSCLK is enabled
      38216134
  3. Nov 15, 2012
  4. Nov 14, 2012
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix mutex deadlock at disconnection · 10e44239
      Takashi Iwai authored
      
      
      The recent change for USB-audio disconnection race fixes introduced a
      mutex deadlock again.  There is a circular dependency between
      chip->shutdown_rwsem and pcm->open_mutex, depicted like below, when a
      device is opened during the disconnection operation:
      
      A. snd_usb_audio_disconnect() ->
           card.c::register_mutex ->
             chip->shutdown_rwsem (write) ->
               snd_card_disconnect() ->
                 pcm.c::register_mutex ->
                   pcm->open_mutex
      
      B. snd_pcm_open() ->
           pcm->open_mutex ->
             snd_usb_pcm_open() ->
               chip->shutdown_rwsem (read)
      
      Since the chip->shutdown_rwsem protection in the case A is required
      only for turning on the chip->shutdown flag and it doesn't have to be
      taken for the whole operation, we can reduce its window in
      snd_usb_audio_disconnect().
      
      Reported-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      10e44239
    • Charles Keepax's avatar
      regulator: core: Avoid deadlock when regulator_register fails · 23ff2f0f
      Charles Keepax authored
      
      
      When regulator_register fails and exits through the scrub path the
      regulator_put function was called whilst holding the
      regulator_list_mutex, causing deadlock.
      
      This patch adds a private version of the regulator_put function which
      can be safely called whilst holding the mutex, replacing the
      aforementioned call.
      
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      23ff2f0f
    • Dan Carpenter's avatar
      ALSA: fm801: precedence bug in snd_fm801_tea575x_get_pins() · effded75
      Dan Carpenter authored
      
      
      There is a precedence bug because | has higher precedence than ?:.  This
      code was cut and pasted and I fixed a similar bug a few days ago.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      effded75
    • Guenter Roeck's avatar
      i2c-mux-pinctrl: Fix probe error path · aa1e3e81
      Guenter Roeck authored
      
      
      When allocating the memory for i2c busses, the code checked the wrong
      variable and thus never detected if there was a memory error.
      
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      aa1e3e81
    • Jean Delvare's avatar
      MAINTAINERS: i2c: 7 years, this is it · d85c8a6a
      Jean Delvare authored
      
      
      I have been maintaining the i2c subsystem for 7 years now, it's about
      time to let someone else take over. Just before I leave, I would like
      to thank several individuals who made this possible at all:
      
      * Greg Kroah-Hartman, for his faith in my potential subsystem
        maintainer skills. Greg, I hope I met your expectations.
      * Late David Brownell, for helping me convert the i2c subsystem to the
        standard device driver model. Rest in peace David, we're missing you.
      * Ben Dooks, for stepping in when I asked for someone to take care of
        the huge flow of new i2c adapter drivers for embedded systems.
      * Wolfram Sang, for joining the crew when it became clear that there
        was more review work than Ben and myself could deal with.
      
      I hope I did not forget anyone, please forgive me if I did.
      
      Another big thank is due to Wolfram again, who quickly proposed to
      take over as the main i2c subsystem maintainer. This will allow for a
      smooth and fast transition.
      
      Note that I will keep maintaining all I2C/SMBus controller drivers for
      PC systems as well as a few others. I am hereby updating MAINTAINERS
      accordingly. I'll also keep maintaining user-space i2c-tools.
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      d85c8a6a
  5. Nov 13, 2012
  6. Nov 12, 2012
  7. Nov 11, 2012
    • Linus Torvalds's avatar
      Linux 3.7-rc5 · 77b67063
      Linus Torvalds authored
      77b67063
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b251f0f3
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "Bug fixes galore, mostly in drivers as is often the case:
      
        1) USB gadget and cdc_eem drivers need adjustments to their frame size
           lengths in order to handle VLANs correctly.  From Ian Coolidge.
      
        2) TIPC and several network drivers erroneously call tasklet_disable
           before tasklet_kill, fix from Xiaotian Feng.
      
        3) r8169 driver needs to apply the WOL suspend quirk to more chipsets,
           fix from Cyril Brulebois.
      
        4) Fix multicast filters on RTL_GIGA_MAC_VER_35 r8169 chips, from
           Nathan Walp.
      
        5) FDB netlink dumps should use RTM_NEWNEIGH as the message type, not
           zero.  From John Fastabend.
      
        6) Fix smsc95xx tx checksum offload on big-endian, from Steve
           Glendinning.
      
        7) __inet_diag_dump() needs to repsect and report the error value
           returned from inet_diag_lock_handler() rather than ignore it.
           Otherwise if an inet diag handler is not available for a particular
           protocol, we essentially report success instead of giving an error
           indication.  Fix from Cyrill Gorcunov.
      
        8) When the QFQ packet scheduler sees TSO/GSO packets it does not
           handle things properly, and in fact ends up corrupting it's
           datastructures as well as mis-schedule packets.  Fix from Paolo
           Valente.
      
        9) Fix oopser in skb_loop_sk(), from Eric Leblond.
      
        10) CXGB4 passes partially uninitialized datastructures in to FW
            commands, fix from Vipul Pandya.
      
        11) When we send unsolicited ipv6 neighbour advertisements, we should
            send them to the link-local allnodes multicast address, as per
            RFC4861.  Fix from Hannes Frederic Sowa.
      
        12) There is some kind of bug in the usbnet's kevent deferral
            mechanism, but more immediately when it triggers an uncontrolled
            stream of kernel messages spam the log.  Rate limit the error log
            message triggered when this problem occurs, as sending thousands
            of error messages into the kernel log doesn't help matters at all,
            and in fact makes further diagnosis more difficult.
      
            From Steve Glendinning.
      
        13) Fix gianfar restore from hibernation, from Wang Dongsheng.
      
        14) The netlink message attribute sizes are wrong in the ipv6 GRE
            driver, it was using the size of ipv4 addresses instead of ipv6
            ones :-) Fix from Nicolas Dichtel."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        gre6: fix rtnl dump messages
        gianfar: ethernet vanishes after restoring from hibernation
        usbnet: ratelimit kevent may have been dropped warnings
        ipv6: send unsolicited neighbour advertisements to all-nodes
        net: usb: cdc_eem: Fix rx skb allocation for 802.1Q VLANs
        usb: gadget: g_ether: fix frame size check for 802.1Q
        cxgb4: Fix initialization of SGE_CONTROL register
        isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES
        cxgb4: Initialize data structures before using.
        af-packet: fix oops when socket is not present
        pkt_sched: enable QFQ to support TSO/GSO
        net: inet_diag -- Return error code if protocol handler is missed
        net: bnx2x: Fix typo in bnx2x driver
        smsc95xx: fix tx checksum offload for big endian
        rtnetlink: Use nlmsg type RTM_NEWNEIGH from dflt fdb dump
        ptp: update adjfreq callback description
        r8169: allow multicast packets on sub-8168f chipset.
        r8169: Fix WoL on RTL8168d/8111d.
        drivers/net: use tasklet_kill in device remove/close process
        tipc: do not use tasklet_disable before tasklet_kill
      b251f0f3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 2b1768f3
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Several build/bug fixes for sparc, including:
      
        1) Configuring a mix of static vs.  modular sparc64 crypto modules
           didn't work, remove an ill-conceived attempt to only have to build
           the device match table for these drivers once to fix the problem.
      
           Reported by Meelis Roos.
      
        2) Make the montgomery multiple/square and mpmul instructions actually
           usable in 32-bit tasks.  Essentially this involves providing 32-bit
           userspace with a way to use a 64-bit stack when it needs to.
      
        3) Our sparc64 atomic backoffs don't yield cpu strands properly on
           Niagara chips.  Use pause instruction when available to achieve
           this, otherwise use a benign instruction we know blocks the strand
           for some time.
      
        4) Wire up kcmp
      
        5) Fix the build of various drivers by removing the unnecessary
           blocking of OF_GPIO when SPARC.
      
        6) Fix unintended regression wherein of_address_to_resource stopped
           being provided.  Fix from Andreas Larsson.
      
        7) Fix NULL dereference in leon_handle_ext_irq(), also from Andreas
           Larsson."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix build with mix of modular vs. non-modular crypto drivers.
        sparc: Support atomic64_dec_if_positive properly.
        of/address: sparc: Declare of_address_to_resource() as an extern function for sparc again
        sparc32, leon: Check for existent irq_map entry in leon_handle_ext_irq
        sparc: Add sparc support for platform_get_irq()
        sparc: Allow OF_GPIO on sparc.
        qlogicpti: Fix build warning.
        sparc: Wire up sys_kcmp.
        sparc64: Improvde documentation and readability of atomic backoff code.
        sparc64: Use pause instruction when available.
        sparc64: Fix cpu strand yielding.
        sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads.
      2b1768f3
  8. Nov 10, 2012