1. 08 5月, 2013 13 次提交
  2. 07 5月, 2013 23 次提交
    • L
      Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · 0f47c942
      Linus Torvalds 提交于
      Pull slab changes from Pekka Enberg:
       "The bulk of the changes are more slab unification from Christoph.
      
        There's also few fixes from Aaron, Glauber, and Joonsoo thrown into
        the mix."
      
      * 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux: (24 commits)
        mm, slab_common: Fix bootstrap creation of kmalloc caches
        slab: Return NULL for oversized allocations
        mm: slab: Verify the nodeid passed to ____cache_alloc_node
        slub: tid must be retrieved from the percpu area of the current processor
        slub: Do not dereference NULL pointer in node_match
        slub: add 'likely' macro to inc_slabs_node()
        slub: correct to calculate num of acquired objects in get_partial_node()
        slub: correctly bootstrap boot caches
        mm/sl[au]b: correct allocation type check in kmalloc_slab()
        slab: Fixup CONFIG_PAGE_ALLOC/DEBUG_SLAB_LEAK sections
        slab: Handle ARCH_DMA_MINALIGN correctly
        slab: Common definition for kmem_cache_node
        slab: Rename list3/l3 to node
        slab: Common Kmalloc cache determination
        stat: Use size_t for sizes instead of unsigned
        slab: Common function to create the kmalloc array
        slab: Common definition for the array of kmalloc caches
        slab: Common constants for kmalloc boundaries
        slab: Rename nodelists to node
        slab: Common name for the per node structures
        ...
      0f47c942
    • L
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · b9e306e0
      Linus Torvalds 提交于
      Pull misc kbuild updates from Michal Marek:
       "Non-critical kbuild changes:
      
         - make coccicheck improvements, but no new semantic patches this time
      
         - make rpm improvements
      
         - make tar-pkg change to include the architecture in the filename.
      
           This is a deliberate incompatibility, but nobody has complained so
           far and it is useful if you build for different architectures.  It
           also matches what the deb-pkg and rpm-pkg targets produce.
      
         - kbuild documentation fix"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        rpm-pkg: Remove pointless set -e statements
        rpm-pkg: Always regenerate the specfile
        rpm-pkg: Do not write to the parent directory
        rpm-pkg: Do not package the whole source directory
        buildtar: Add ARCH to the archive name
        Coccinelle: Fix patch output when coccicheck is used with M= and C=
        Coccinelle: Add support to the SPFLAGS variable
        Coccinelle: Cleanup the setting of the FLAGS and OPTIONS variables
        Coccinelle: Restore coccicheck verbosity in ONLINE mode (C=1 or C=2)
        scripts/package/Makefile: compare objtree with srctree instead of test KBUILD_OUTPUT
        doc: change example to existing Makefile fragment
        scripts/tags.sh: Add magic for OFFSET and DEFINE
      b9e306e0
    • L
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 685e56d2
      Linus Torvalds 提交于
      Pull kconfig updates from Michal Marek:
       - use pkg-config to detect curses libraries
       - clean up the way curses headers are searched
       - Some randconfig fixes, of which one had to be reverted
       - KCONFIG_SEED for randconfig debugging
       - memuconfig memory leak plugged
       - menuconfig > breadcrumbs > navigation
       - xconfig compilation fix
       - Other minor fixes
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kconfig: fix lists definition for C++
        Revert "kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG"
        kconfig: implement KCONFIG_PROBABILITY for randconfig
        kconfig: allow specifying the seed for randconfig
        kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG
        kconfig: do not override symbols already set
        kconfig: fix randconfig tristate detection
        kconfig/lxdialog: rationalise the include paths where to find {.n}curses{,w}.h
        menuconfig: Add "breadcrumbs" navigation aid
        menuconfig: Fix memory leak introduced by jump keys feature
        merge_config.sh: Avoid creating unnessary source softlinks
        kconfig: optionally use pkg-config to detect ncurses libs
        menuconfig: optionally use pkg-config to detect ncurses libs
      685e56d2
    • L
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 57c29bd3
      Linus Torvalds 提交于
      Pull kbuild changes from Michal Marek:
       "Kbuild commits for v3.10-rc1:
      
         - Fix make mrproper after mod/file2alias rework
         - Fix ld-option Makefile function
         - Rewrite headers_install to shell to drop Perl dependency.
      
        There are some more patches I have to look at, so I might send another
        pull request later.  Or just queue them for 3.11."
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        Fix cleaning in scripts/mod
        headers_install.pl: convert to headers_install.sh
        kbuild: fix ld-option function
      57c29bd3
    • L
      menuconfig: fix NULL pointer dereference when searching a symbol · 383da76f
      Li Zefan 提交于
      Searching for PPC_EFIKA results in a segmentation fault, and it's
      because get_symbol_prop() returns NULL.
      
      In this case CONFIG_PPC_EFIKA is defined in arch/powerpc/platforms/
      52xx/Kconfig, so it won't be parsed if ARCH!=PPC, but menuconfig knows
      this symbol when it parses sound/soc/fsl/Kconfig:
      
          config SND_MPC52xx_SOC_EFIKA
              tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
              depends on PPC_EFIKA
      
      This bug was introduced by commit bcdedcc1 ("menuconfig: print more
      info for symbol without prompts").
      Reported-and-tested-by: NBorislav Petkov <bp@alien8.de>
      Signed-off-by: NLi Zefan <lizefan@huawei.com>
      Tested-by: NLibo Chen <libo.chen@huawei.com>
      Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      383da76f
    • B
      e1000e: fix scheduling while atomic bug · 2a437cd3
      Bruce Allan 提交于
      A scheduling while atomic bug was introduced recently (by commit
      ce43a216: "e1000e: cleanup USLEEP_RANGE checkpatch checks").
      
      Revert the particular instance of usleep_range() which causes the bug.
      Reported-by: NMaarten Lankhorst <m.b.lankhorst@gmail.com>
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2a437cd3
    • P
      Merge branch 'slab/next' into slab/for-linus · 69df2ac1
      Pekka Enberg 提交于
      69df2ac1
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 51a26ae7
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Just a small pile of fixes"
      
       1) Fix race conditions in IP fragmentation LRU list handling, from
          Konstantin Khlebnikov.
      
       2) vfree() is no longer verboten in interrupts, so deferring is
          pointless, from Al Viro.
      
       3) Conversion from mutex to semaphore in netpoll left trylock test
          inverted, caught by Dan Carpenter.
      
       4) 3c59x uses wrong base address when releasing regions, from Sergei
          Shtylyov.
      
       5) Bounds checking in TIPC from Dan Carpenter.
      
       6) Fastopen cookies should not be expired as aggressively as other TCP
          metrics.  From Eric Dumazet.
      
       7) Fix retrieval of MAC address in ibmveth, from Ben Herrenschmidt.
      
       8) Don't use "u16" in virtio user headers, from Stephen Hemminger
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        tipc: potential divide by zero in tipc_link_recv_fragment()
        tipc: add a bounds check in link_recv_changeover_msg()
        net/usb: new driver for RTL8152
        3c59x: fix freeing nonexistent resource on driver unload
        netpoll: inverted down_trylock() test
        rps_dev_flow_table_release(): no need to delay vfree()
        fib_trie: no need to delay vfree()
        net: frag, fix race conditions in LRU list maintenance
        tcp: do not expire TCP fastopen cookies
        net/eth/ibmveth: Fixup retrieval of MAC address
        virtio: don't expose u16 in userspace api
      51a26ae7
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 2b69703f
      Linus Torvalds 提交于
      Pull LED subsystem updates from Bryan Wu:
       - move LED trigger drivers into a new directory
       - lp55xx common driver updates
       - other led drivers updates and bug fixing
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: leds-asic3: switch to using SIMPLE_DEV_PM_OPS
        leds: leds-bd2802: add CONFIG_PM_SLEEP to suspend/resume functions
        leds: lp55xx: configure the clock detection
        leds: lp55xx: use common clock framework when external clock is used
        leds: leds-ns2: fix oops at module removal
        leds: leds-pwm: Defer led_pwm_set() if PWM can sleep
        leds: lp55xx: fix the sysfs read operation
        leds: lm355x, lm3642: support camera LED triggers for flash and torch
        leds: add camera LED triggers
        leds: trigger: use inline functions instead of macros
        leds: tca6507: Use of_match_ptr() macro
        leds: wm8350: Complain if we fail to reenable DCDC
        leds: renesas: set gpio_request_one() flags param correctly
        leds: leds-ns2: set devm_gpio_request_one() flags param correctly
        leds: leds-lt3593: set devm_gpio_request_one() flags param correctly
        leds: leds-bd2802: remove erroneous __exit annotation
        leds: atmel-pwm: remove erroneous __exit annotation
        leds: move LED trigger drivers into new subdirectory
        leds: add new LP5562 LED driver
      2b69703f
    • L
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 30c67e93
      Linus Torvalds 提交于
      Pull GPIO changes from Grant Likely:
       "The usual selection of bug fixes and driver updates for GPIO.  Nothing
        really stands out except the addition of the GRGPIO driver and some
        enhacements to ACPI support"
      
      I'm pulling this despite the earlier mess.  Let's hope it compiles these
      days.
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: (46 commits)
        gpio: grgpio: Add irq support
        gpio: grgpio: Add device driver for GRGPIO cores
        gpiolib-acpi: introduce acpi_get_gpio_by_index() helper
        GPIO: gpio-generic: remove kfree() from bgpio_remove call
        gpio / ACPI: Handle ACPI events in accordance with the spec
        gpio: lpc32xx: Fix off-by-one valid range checking for bank
        gpio: mcp23s08: convert driver to DT
        gpio/omap: force restore if context loss is not detectable
        gpio/omap: optimise interrupt service routine
        gpio/omap: remove extra context restores in *_runtime_resume()
        gpio/omap: free irq domain in probe() failure paths
        gpio: gpio-generic: Add 16 and 32 bit big endian byte order support
        gpio: samsung: Add terminating entry for exynos_pinctrl_ids
        gpio: mvebu: add dbg_show function
        MAX7301 GPIO: Do not force SPI speed when using OF Platform
        gpio: gpio-tps65910.c: fix checkpatch error
        gpio: gpio-timberdale.c: fix checkpatch error
        gpio: gpio-tc3589x.c: fix checkpatch errors
        gpio: gpio-stp-xway.c: fix checkpatch error
        gpio: gpio-sch.c: fix checkpatch error
        ...
      30c67e93
    • L
      Merge tag 'for-3.10-rc1' of git://gitorious.org/linux-pwm/linux-pwm · f87bb9ee
      Linus Torvalds 提交于
      Pull pwm changes from Thierry Reding:
       "Nothing very exciting this time around.  A couple of bug fixes and a
        lot of cleanup across the board.  The DaVinci 8xx family of SoCs now
        use the same driver as the AM33xx family.
      
        Many thanks to Axel Lin and Jingoo Han who have done a great job
        fixing various bugs and inconsistencies."
      
      * tag 'for-3.10-rc1' of git://gitorious.org/linux-pwm/linux-pwm: (27 commits)
        pwm: lpc32xx: Don't change PWM_ENABLE bit in lpc32xx_pwm_config
        pwm: lpc32xx: Properly set PWM_ENABLE bit in lpc32xx_pwm_[enable|disable]
        pwm: Constify OF match tables
        pwm: pwm-tiehrpwm: Update device-tree binding document
        pwm: pwm-tiecap: Update device-tree binding document
        pwm: puv3: Remove unused enabled filed from struct puv3_pwm_chip
        pwm: pxa: Remove PWM_ID_BASE macro
        pwm: spear: Remove unused *dev from struct spear_pwm_chip
        pwm: mxs: Remove unused *dev from struct mxs_pwm_chip
        pwm: twl: Return proper error if twl6030_pwm_enable() fails
        pwm: pxa: Remove clk_enabled field from struct pxa_pwm_chip
        pwm: imx: Remove enabled field from struct imx_chip
        pwm: twl: Add .owner to struct pwm_ops
        pwm: twl-led: Add .owner to struct pwm_ops
        pwm: atmel-tcb: Add .owner to struct pwm_ops
        pwm: ab8500: Add .owner to struct pwm_ops
        pwm: spear: Fix checking return value of clk_enable() and clk_prepare()
        pwm: tiehrpwm: Staticize non-exported symbols
        pwm: tiecap: Staticize non-exported symbols
        pwm: ab8500: Fix trivial typo in dev_err message
        ...
      f87bb9ee
    • L
      Merge tag 'iommu-updates-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 99737982
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
       "The updates are mostly about the x86 IOMMUs this time.
      
        Exceptions are the groundwork for the PAMU IOMMU from Freescale (for a
        PPC platform) and an extension to the IOMMU group interface.
      
        On the x86 side this includes a workaround for VT-d to disable
        interrupt remapping on broken chipsets.  On the AMD-Vi side the most
        important new feature is a kernel command-line interface to override
        broken information in IVRS ACPI tables and get interrupt remapping
        working this way.
      
        Besides that there are small fixes all over the place."
      
      * tag 'iommu-updates-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (24 commits)
        iommu/tegra: Fix printk formats for dma_addr_t
        iommu: Add a function to find an iommu group by id
        iommu/vt-d: Remove warning for HPET scope type
        iommu: Move swap_pci_ref function to drivers/iommu/pci.h.
        iommu/vt-d: Disable translation if already enabled
        iommu/amd: fix error return code in early_amd_iommu_init()
        iommu/AMD: Per-thread IOMMU Interrupt Handling
        iommu: Include linux/err.h
        iommu/amd: Workaround for ERBT1312
        iommu/amd: Document ivrs_ioapic and ivrs_hpet parameters
        iommu/amd: Don't report firmware bugs with cmd-line ivrs overrides
        iommu/amd: Add ioapic and hpet ivrs override
        iommu/amd: Add early maps for ioapic and hpet
        iommu/amd: Extend IVRS special device data structure
        iommu/amd: Move add_special_device() to __init
        iommu: Fix compile warnings with forward declarations
        iommu/amd: Properly initialize irq-table lock
        iommu/amd: Use AMD specific data structure for irq remapping
        iommu/amd: Remove map_sg_no_iommu()
        iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets
        ...
      99737982
    • A
      Fix cleaning in scripts/mod · 22fc4273
      Andreas Schwab 提交于
      Make sure devicetable-offsets.h is cleaned in the scripts/mod directory
      Signed-off-by: NAndreas Schwab <schwab@linux-m68k.org>
      Tested-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      22fc4273
    • C
      mm, slab_common: Fix bootstrap creation of kmalloc caches · 8a965b3b
      Christoph Lameter 提交于
      For SLAB the kmalloc caches must be created in ascending sizes in order
      for the OFF_SLAB sub-slab cache to work properly.
      
      Create the non power of two caches immediately after the prior power of
      two kmalloc cache. Do not create the non power of two caches before all
      other caches.
      Reported-and-tested-by: NTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: NChristoph Lamete <cl@linux.com>
      Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jpSigned-off-by: NPekka Enberg <penberg@kernel.org>
      8a965b3b
    • D
      tipc: potential divide by zero in tipc_link_recv_fragment() · 6bf15191
      Dan Carpenter 提交于
      The worry here is that fragm_sz could be zero since it comes from
      skb->data.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6bf15191
    • D
      tipc: add a bounds check in link_recv_changeover_msg() · cb4b102f
      Dan Carpenter 提交于
      The bearer_id here comes from skb->data and it can be a number from 0 to
      7.  The problem is that the ->links[] array has only 2 elements so I
      have added a range check.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cb4b102f
    • H
      net/usb: new driver for RTL8152 · ac718b69
      hayeswang 提交于
      Add new driver for supporting Realtek RTL8152 Based USB 2.0 Ethernet Adapters
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Cc: Realtek linux nic maintainers <nic_swsd@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ac718b69
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 91f85756
      Linus Torvalds 提交于
      Pull Ceph changes from Alex Elder:
       "This is a big pull.
      
        Most of it is culmination of Alex's work to implement RBD image
        layering, which is now complete (yay!).
      
        There is also some work from Yan to fix i_mutex behavior surrounding
        writes in cephfs, a sync write fix, a fix for RBD images that get
        resized while they are mapped, and a few patches from me that resolve
        annoying auth warnings and fix several bugs in the ceph auth code."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (254 commits)
        rbd: fix image request leak on parent read
        libceph: use slab cache for osd client requests
        libceph: allocate ceph message data with a slab allocator
        libceph: allocate ceph messages with a slab allocator
        rbd: allocate image object names with a slab allocator
        rbd: allocate object requests with a slab allocator
        rbd: allocate name separate from obj_request
        rbd: allocate image requests with a slab allocator
        rbd: use binary search for snapshot lookup
        rbd: clear EXISTS flag if mapped snapshot disappears
        rbd: kill off the snapshot list
        rbd: define rbd_snap_size() and rbd_snap_features()
        rbd: use snap_id not index to look up snap info
        rbd: look up snapshot name in names buffer
        rbd: drop obj_request->version
        rbd: drop rbd_obj_method_sync() version parameter
        rbd: more version parameter removal
        rbd: get rid of some version parameters
        rbd: stop tracking header object version
        rbd: snap names are pointer to constant data
        ...
      91f85756
    • L
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 2e378f3e
      Linus Torvalds 提交于
      Pull CIFS fixes from Steve French:
       "A set of cifs cleanup fixes.
      
        The only big one of this set optimizes the cifs error logging,
        renaming cFYI and cERROR macros to cifs_dbg, and in the process makes
        it clearer and reduces module size."
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: small variable name cleanup
        CIFS: fix error return code in cifs_atomic_open()
        cifs: store the real expected sequence number in the mid
        cifs: on send failure, readjust server sequence number downward
        cifs: remove ENOSPC handling in smb_sendv
        [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg
        fs: cifs: use kmemdup instead of kmalloc + memcpy
        cifs: replaced kmalloc + memset with kzalloc
        cifs: ignore the unc= and prefixpath= mount options
      2e378f3e
    • D
      autofs - remove autofs dentry mount check · ce8a5dbd
      David Jeffery 提交于
      When checking if an autofs mount point is busy it isn't sufficient to
      only check if it's a mount point.
      
      For example, if the mount of an offset mountpoint in a tree is denied
      for this host by its export and the dentry becomes a process working
      directory the check incorrectly returns the mount as not in use at
      expire.
      
      This can happen since the default when mounting within a tree is
      nostrict, which means ingnore mount fails on mounts within the tree and
      continue.  The nostrict option is meant to allow mounting in this case.
      Signed-off-by: NDavid Jeffery <djeffery@redhat.com>
      Signed-off-by: NIan Kent <raven@themaw.net>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ce8a5dbd
    • C
      autofs - fix sparse warning for autofs4_d_manage() · 95482986
      Claudiu Ghioc 提交于
      Fixed the sparse warning:
      
        fs/autofs4/root.c:411:5: warning: symbol 'autofs4_d_manage' was not declared. Should it be static?"
      
      [ Clearly it should be static as the function is declared static at the
        top of root.c.  - imk ]
      Signed-off-by: NClaudiu Ghioc <claudiu.ghioc@gmail.com>
      Signed-off-by: NIan Kent <raven@themaw.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      95482986
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2bf1bef0
      Linus Torvalds 提交于
      Pull more s390 updates from Martin Schwidefsky:
       "This is the second batch of s390 patches for the 3.10 merge window.
      
        Heiko improved the memory detection, this fixes kdump for large memory
        sizes.  Some kvm related memory management work, new ipldev/condev
        keywords in cio and bug fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mem_detect: remove artificial kdump memory types
        s390/mm: add pte invalidation notifier for kvm
        s390/zcrypt: ap bus rescan problem when toggle crypto adapters on/off
        s390/memory hotplug,sclp: get rid of per memory increment usecount
        s390/memory hotplug: provide memory_block_size_bytes() function
        s390/mem_detect: limit memory detection loop to "mem=" parameter
        s390/kdump,bootmem: fix bootmem allocator bitmap size
        s390: get rid of odd global real_memory_size
        s390/kvm: Change the virtual memory mapping location for Virtio devices
        s390/zcore: calculate real memory size using own get_mem_size function
        s390/mem_detect: add DAT sanity check
        s390/mem_detect: fix lockdep irq tracing
        s390/mem_detect: move memory detection code to mm folder
        s390/zfcpdump: exploit new cio_ignore keywords
        s390/cio: add condev keyword to cio_ignore
        s390/cio: add ipldev keyword to cio_ignore
        s390/uaccess: add "fallthrough" comments
      2bf1bef0
    • S
      3c59x: fix freeing nonexistent resource on driver unload · c81400be
      Sergei Shtylyov 提交于
      When unloading the driver that drives an EISA board, a message similar to the
      following one is displayed:
      
      Trying to free nonexistent resource <0000000000013000-000000000001301f>
      
      Then an user is unable to reload the driver because the resource it requested in
      the previous load hasn't been freed. This happens most probably due to a typo in
      vortex_eisa_remove() which calls release_region() with 'dev->base_addr'  instead
      of 'edev->base_addr'...
      Reported-by: NMatthew Whitehead <tedheadster@gmail.com>
      Tested-by: NMatthew Whitehead <tedheadster@gmail.com>
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c81400be
  3. 06 5月, 2013 4 次提交
    • D
      netpoll: inverted down_trylock() test · a3dbbc2b
      Dan Carpenter 提交于
      The return value is reversed from mutex_trylock().
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3dbbc2b
    • A
      rps_dev_flow_table_release(): no need to delay vfree() · 243198d0
      Al Viro 提交于
      The same story as with fib_trie patch - vfree() from RCU callbacks
      is legitimate now.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      243198d0
    • A
      fib_trie: no need to delay vfree() · 00203563
      Al Viro 提交于
      Now that vfree() can be called from interrupt contexts, there's no
      need to play games with schedule_work() to escape calling vfree()
      from RCU callbacks.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      00203563
    • K
      net: frag, fix race conditions in LRU list maintenance · b56141ab
      Konstantin Khlebnikov 提交于
      This patch fixes race between inet_frag_lru_move() and inet_frag_lru_add()
      which was introduced in commit 3ef0eb0d
      ("net: frag, move LRU list maintenance outside of rwlock")
      
      One cpu already added new fragment queue into hash but not into LRU.
      Other cpu found it in hash and tries to move it to the end of LRU.
      This leads to NULL pointer dereference inside of list_move_tail().
      
      Another possible race condition is between inet_frag_lru_move() and
      inet_frag_lru_del(): move can happens after deletion.
      
      This patch initializes LRU list head before adding fragment into hash and
      inet_frag_lru_move() doesn't touches it if it's empty.
      
      I saw this kernel oops two times in a couple of days.
      
      [119482.128853] BUG: unable to handle kernel NULL pointer dereference at           (null)
      [119482.132693] IP: [<ffffffff812ede89>] __list_del_entry+0x29/0xd0
      [119482.136456] PGD 2148f6067 PUD 215ab9067 PMD 0
      [119482.140221] Oops: 0000 [#1] SMP
      [119482.144008] Modules linked in: vfat msdos fat 8021q fuse nfsd auth_rpcgss nfs_acl nfs lockd sunrpc ppp_async ppp_generic bridge slhc stp llc w83627ehf hwmon_vid snd_hda_codec_hdmi snd_hda_codec_realtek kvm_amd k10temp kvm snd_hda_intel snd_hda_codec edac_core radeon snd_hwdep ath9k snd_pcm ath9k_common snd_page_alloc ath9k_hw snd_timer snd soundcore drm_kms_helper ath ttm r8169 mii
      [119482.152692] CPU 3
      [119482.152721] Pid: 20, comm: ksoftirqd/3 Not tainted 3.9.0-zurg-00001-g9f95269 #132 To Be Filled By O.E.M. To Be Filled By O.E.M./RS880D
      [119482.161478] RIP: 0010:[<ffffffff812ede89>]  [<ffffffff812ede89>] __list_del_entry+0x29/0xd0
      [119482.166004] RSP: 0018:ffff880216d5db58  EFLAGS: 00010207
      [119482.170568] RAX: 0000000000000000 RBX: ffff88020882b9c0 RCX: dead000000200200
      [119482.175189] RDX: 0000000000000000 RSI: 0000000000000880 RDI: ffff88020882ba00
      [119482.179860] RBP: ffff880216d5db58 R08: ffffffff8155c7f0 R09: 0000000000000014
      [119482.184570] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88020882ba00
      [119482.189337] R13: ffffffff81c8d780 R14: ffff880204357f00 R15: 00000000000005a0
      [119482.194140] FS:  00007f58124dc700(0000) GS:ffff88021fcc0000(0000) knlGS:0000000000000000
      [119482.198928] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [119482.203711] CR2: 0000000000000000 CR3: 00000002155f0000 CR4: 00000000000007e0
      [119482.208533] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [119482.213371] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [119482.218221] Process ksoftirqd/3 (pid: 20, threadinfo ffff880216d5c000, task ffff880216d3a9a0)
      [119482.223113] Stack:
      [119482.228004]  ffff880216d5dbd8 ffffffff8155dcda 0000000000000000 ffff000200000001
      [119482.233038]  ffff8802153c1f00 ffff880000289440 ffff880200000014 ffff88007bc72000
      [119482.238083]  00000000000079d5 ffff88007bc72f44 ffffffff00000002 ffff880204357f00
      [119482.243090] Call Trace:
      [119482.248009]  [<ffffffff8155dcda>] ip_defrag+0x8fa/0xd10
      [119482.252921]  [<ffffffff815a8013>] ipv4_conntrack_defrag+0x83/0xe0
      [119482.257803]  [<ffffffff8154485b>] nf_iterate+0x8b/0xa0
      [119482.262658]  [<ffffffff8155c7f0>] ? inet_del_offload+0x40/0x40
      [119482.267527]  [<ffffffff815448e4>] nf_hook_slow+0x74/0x130
      [119482.272412]  [<ffffffff8155c7f0>] ? inet_del_offload+0x40/0x40
      [119482.277302]  [<ffffffff8155d068>] ip_rcv+0x268/0x320
      [119482.282147]  [<ffffffff81519992>] __netif_receive_skb_core+0x612/0x7e0
      [119482.286998]  [<ffffffff81519b78>] __netif_receive_skb+0x18/0x60
      [119482.291826]  [<ffffffff8151a650>] process_backlog+0xa0/0x160
      [119482.296648]  [<ffffffff81519f29>] net_rx_action+0x139/0x220
      [119482.301403]  [<ffffffff81053707>] __do_softirq+0xe7/0x220
      [119482.306103]  [<ffffffff81053868>] run_ksoftirqd+0x28/0x40
      [119482.310809]  [<ffffffff81074f5f>] smpboot_thread_fn+0xff/0x1a0
      [119482.315515]  [<ffffffff81074e60>] ? lg_local_lock_cpu+0x40/0x40
      [119482.320219]  [<ffffffff8106d870>] kthread+0xc0/0xd0
      [119482.324858]  [<ffffffff8106d7b0>] ? insert_kthread_work+0x40/0x40
      [119482.329460]  [<ffffffff816c32dc>] ret_from_fork+0x7c/0xb0
      [119482.334057]  [<ffffffff8106d7b0>] ? insert_kthread_work+0x40/0x40
      [119482.338661] Code: 00 00 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89 e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b 00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08
      [119482.343787] RIP  [<ffffffff812ede89>] __list_del_entry+0x29/0xd0
      [119482.348675]  RSP <ffff880216d5db58>
      [119482.353493] CR2: 0000000000000000
      
      Oops happened on this path:
      ip_defrag() -> ip_frag_queue() -> inet_frag_lru_move() -> list_move_tail() -> __list_del_entry()
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Florian Westphal <fw@strlen.de>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: David S. Miller <davem@davemloft.net>
      Acked-by: NFlorian Westphal <fw@strlen.de>
      Signed-off-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b56141ab