aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-24slub: avoid potential NULL dereference or corruptionEric Dumazet1-10/+11
show_slab_objects() can trigger NULL dereferences or memory corruption. Another cpu can change its c->page to NULL or c->node to NUMA_NO_NODE while we use them. Use ACCESS_ONCE(c->page) and ACCESS_ONCE(c->node) to make sure this cannot happen. Acked-by: Christoph Lameter <[email protected]> Acked-by: David Rientjes <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-11-24slub: use irqsafe_cpu_cmpxchg for put_cpu_partialChristoph Lameter1-1/+1
The cmpxchg must be irq safe. The fallback for this_cpu_cmpxchg only disables preemption which results in per cpu partial page operation potentially failing on non x86 platforms. This patch fixes the following problem reported by Christian Kujau: I seem to hit it with heavy disk & cpu IO is in progress on this PowerBook G4. Full dmesg & .config: http://nerdbynature.de/bits/3.2.0-rc1/oops/ I've enabled some debug options and now it really points to slub.c:2166 http://nerdbynature.de/bits/3.2.0-rc1/oops/oops4m.jpg With debug options enabled I'm currently in the xmon debugger, not sure what to make of it yet, I'll try to get something useful out of it :) Reported-by: Christian Kujau <[email protected]> Tested-by: Christian Kujau <[email protected]> Acked-by: Eric Dumazet <[email protected]> Acked-by: David Rientjes <[email protected]> Signed-off-by: Christoph Lameter <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-11-23powerpc/85xx: Fix compile error on p3060_qds.cKumar Gala1-1/+1
arch/powerpc/platforms/85xx/p3060_qds.c: In function '__machine_initcall_p3060_qds_declare_of_platform_devices': arch/powerpc/platforms/85xx/p3060_qds.c:73:1: error: implicit declaration of function 'declare_of_platform_devices' declare_of_platform_devices should have been corenet_ds_publish_devices. Signed-off-by: Kumar Gala <[email protected]>
2011-11-23powerpc/p3060qds: Fix select of 'MPC8xxx_GPIO'Paul Bolle1-1/+1
The driver for the Freescale P3060 QDS got added by commit 96cc017c5b ("[...] Add support for P3060QDS board"). Its Kconfig entry selects MPC8xxx_GPIO. But at the time that driver got added MPC8xxx_GPIO was already renamed to GPIO_MPC8XXX, by commit c68308dd50c ("gpio: move mpc8xxx/512x gpio driver to drivers/gpio"). So make this driver select GPIO_MPC8XXX. Signed-off-by: Paul Bolle <[email protected]> Acked-by: Wolfram Sang <[email protected]> Signed-off-by: Kumar Gala <[email protected]>
2011-11-23powerpc/p1023: set IRQ[4:6,11] to active-high level sensitive for PCIeRoy Zang1-4/+13
P1023 external IRQ[4:6, 11] are not pin out, but the interrupts are utilized by the PCIe controllers. As they are not exposed as pins we need to set them as active-high (internal to the SoC these interrupts are pulled down). IRQs[0:3,7:10] are pulled up on the board so we have them set as active-low. Signed-off-by: Roy Zang <[email protected]> Signed-off-by: Kumar Gala <[email protected]>
2011-11-23Linux 3.2-rc3Linus Torvalds1-1/+1
2011-11-23Merge git://github.com/rustyrussell/linuxLinus Torvalds5-3/+23
* git://github.com/rustyrussell/linux: virtio-pci: make reset operation safer virtio-mmio: Correct the name of the guest features selector virtio: add HAS_IOMEM dependency to MMIO platform bus driver
2011-11-24virtio-pci: make reset operation saferMichael S. Tsirkin2-0/+20
virtio pci device reset actually just does an I/O write, which in PCI is really posted, that is it can complete on CPU before the device has received it. Further, interrupts might have been pending on another CPU, so device callback might get invoked after reset. This conflicts with how drivers use reset, which is typically: reset unregister a callback running after reset completed can race with unregister, potentially leading to use after free bugs. Fix by flushing out the write, and flushing pending interrupts. This assumes that device is never reset from its vq/config callbacks, or in parallel with being added/removed, document this assumption. Signed-off-by: Michael S. Tsirkin <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-11-24virtio-mmio: Correct the name of the guest features selectorSasha Levin2-2/+2
Guest features selector spelling mistake. Cc: Pawel Moll <[email protected]> Cc: Rusty Russell <[email protected]> Cc: [email protected] Signed-off-by: Sasha Levin <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-11-24virtio: add HAS_IOMEM dependency to MMIO platform bus driverHeiko Carstens1-1/+1
Fix this compile error on s390: CC [M] drivers/virtio/virtio_mmio.o drivers/virtio/virtio_mmio.c: In function 'vm_get_features': drivers/virtio/virtio_mmio.c:107:2: error: implicit declaration of function 'writel' Cc: Christian Borntraeger <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Acked-by: Pawel Moll <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-11-23Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-devLinus Torvalds2-1/+5
* 'upstream-linus' of git://github.com/jgarzik/libata-dev: libata: fix build without BMDMA [libata] ahci_platform: fix DT probing
2011-11-23Merge branch 'for-linus' of ↵Linus Torvalds8-25/+51
git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: PCI hotplug: shpchp: don't blindly claim non-AMD 0x7450 device IDs PCI: pciehp: wait 100 ms after Link Training check PCI: pciehp: wait 1000 ms before Link Training check PCI: pciehp: Retrieve link speed after link is trained PCI: Let PCI_PRI depend on PCI PCI: Fix compile errors with PCI_ATS and !PCI_IOV PCI / ACPI: Make acpiphp ignore root bridges using PCIe native hotplug
2011-11-23Merge branch 'hwmod_dss_fixes_3.2rc' of git://git.pwsan.com/linux-2.6 into ↵Tony Lindgren12-35/+276
fixes-dss
2011-11-23Merge branch 'fixes-v3.2-rc2' into fixesTony Lindgren666-12203/+21805
2011-11-23ARM: OMAP2+: Fix Compilation error when omap_l3_noc built as moduleGovindraj.R1-1/+1
Fix below compilation failure on mainline kernel 3.2-rc1 when omap_l3_noc.c is built as module. arch/arm/mach-omap2/omap_l3_noc.c:240: error: expected ',' or ';' before 'MODULE_DEVICE_TABLE' Signed-off-by: Govindraj.R <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23ARM: OMAP2+: Remove empty io.hThomas Weber1-0/+0
The file arch/arm/mach-omap2/io.h is empty, so we can remove it. Signed-off-by: Thomas Weber <[email protected]> Acked-by: Kevin Hilman <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23ARM: OMAP2: select ARM_AMBA if OMAP3_EMU is definedMing Lei1-0/+1
This patch selects ARM_AMBA if OMAP3_EMU is defined because OC_ETM depends on ARM_AMBA, so fix the link failure[1]. [1], arch/arm/kernel/built-in.o: In function `etm_remove': /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:609: undefined reference to `amba_release_regions' arch/arm/kernel/built-in.o: In function `etb_remove': /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:409: undefined reference to `amba_release_regions' arch/arm/kernel/built-in.o: In function `etm_init': /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:640: undefined reference to `amba_driver_register' /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:646: undefined reference to `amba_driver_register' /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:648: undefined reference to `amba_driver_unregister' arch/arm/kernel/built-in.o: In function `etm_probe': /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:545: undefined reference to `amba_request_regions' /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:595: undefined reference to `amba_release_regions' arch/arm/kernel/built-in.o: In function `etb_probe': /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:347: undefined reference to `amba_request_regions' /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:392: undefined reference to `amba_release_regions' arch/arm/mach-omap2/built-in.o: In function `emu_init': /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:62: undefined reference to `amba_device_register' /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:63: undefined reference to `amba_device_register' make: *** [.tmp_vmlinux1] Error 1 making modules Signed-off-by: Ming Lei <[email protected]> Cc: [email protected] Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23ARM: OMAP: smartreflex: fix IRQ handling bugFelipe Balbi1-1/+1
Fix a bug which has been on this driver since it was added by the original commit 984aa6db which would never clear IRQSTATUS bits. Signed-off-by: Felipe Balbi <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Cc: [email protected] Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23ARM: OMAP: PM: only register TWL with voltage layer when device is presentKevin Hilman3-4/+16
Current code registers voltage layer details for TWL PMIC even when a TWL has not been registered. Fix this to only register the TWL with voltage layer when the TWL PMIC is initialized by board-level code. Signed-off-by: Kevin Hilman <[email protected]> Cc: [email protected] Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23ARM: OMAP: hwmod: Fix the addr space, irq, dma count APIssricharan1-3/+3
The address spaces, irqs and dma reqs count APIs return the number of corresponding entries in a hwmod including a additional null value or a -1 terminator in the structure introduced recently. More information here: - 212738a4: omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs arrays - 78183f3f: omap_hwmod: use a null structure record to terminate omap_hwmod_addr_space arrays - bc614958: omap_hwmod: use a terminator record with omap_hwmod_dma_info arrays The issue with irqs and dma info was originally reported by Benoit Cousson. The devices which have multiple hwmods and use device_build_ss are broken with this, as their resources are populated with a extra null value, subsequently the probe fails. So fix the API not to include the array terminator in the count. Reported-by: Benoit Cousson <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: sricharan <[email protected]> Signed-off-by: Benoit Cousson <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: [email protected] Signed-off-by: Tony Lindgren <[email protected]>
2011-11-23Merge branch 'for-linus' of ↵Linus Torvalds4-36/+70
git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs: eCryptfs: Extend array bounds for all filename chars eCryptfs: Flush file in vma close eCryptfs: Prevent file create race condition
2011-11-23eCryptfs: Extend array bounds for all filename charsTyler Hicks1-2/+2
From mhalcrow's original commit message: Characters with ASCII values greater than the size of filename_rev_map[] are valid filename characters. ecryptfs_decode_from_filename() will access kernel memory beyond that array, and ecryptfs_parse_tag_70_packet() will then decrypt those characters. The attacker, using the FNEK of the crafted file, can then re-encrypt the characters to reveal the kernel memory past the end of the filename_rev_map[] array. I expect low security impact since this array is statically allocated in the text area, and the amount of memory past the array that is accessible is limited by the largest possible ASCII filename character. This patch solves the issue reported by mhalcrow but with an implementation suggested by Linus to simply extend the length of filename_rev_map[] to 256. Characters greater than 0x7A are mapped to 0x00, which is how invalid characters less than 0x7A were previously being handled. Signed-off-by: Tyler Hicks <[email protected]> Reported-by: Michael Halcrow <[email protected]> Cc: [email protected]
2011-11-23eCryptfs: Flush file in vma closeTyler Hicks1-1/+22
Dirty pages weren't being written back when an mmap'ed eCryptfs file was closed before the mapping was unmapped. Since f_ops->flush() is not called by the munmap() path, the lower file was simply being released. This patch flushes the eCryptfs file in the vm_ops->close() path. https://launchpad.net/bugs/870326 Signed-off-by: Tyler Hicks <[email protected]> Cc: [email protected] [2.6.39+]
2011-11-23eCryptfs: Prevent file create race conditionTyler Hicks3-33/+46
The file creation path prematurely called d_instantiate() and unlock_new_inode() before the eCryptfs inode info was fully allocated and initialized and before the eCryptfs metadata was written to the lower file. This could result in race conditions in subsequent file and inode operations leading to unexpected error conditions or a null pointer dereference while attempting to use the unallocated memory. https://launchpad.net/bugs/813146 Signed-off-by: Tyler Hicks <[email protected]> Cc: [email protected]
2011-11-23Merge branch 'fix' of git://github.com/ycmiao/pxa-linux into fixesArnd Bergmann13-15/+15
2011-11-23Merge branch 'imx-for-arnd' of git://git.pengutronix.de/git/imx/linux-2.6 ↵Arnd Bergmann9-90/+69
into fixes
2011-11-23Merge branch 'samsung-fixes' of ↵Arnd Bergmann7-4/+9
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
2011-11-23Merge branch 'for-arnd' of ↵Arnd Bergmann2-0/+11
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into fixes
2011-11-23PM / Hibernate: Do not leak memory in error/test code pathsRafael J. Wysocki1-6/+10
The hibernation core code forgets to release memory preallocated for hibernation if there's an error in its early stages or if test modes causing hibernation_snapshot() to return early are used. This causes the system to be hardly usable, because the amount of preallocated memory is usually huge. Fix this problem. Reported-by: Srivatsa S. Bhat <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Srivatsa S. Bhat <[email protected]>
2011-11-23Merge branch 'imx6q/fixes' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann3-2/+7
into fixes
2011-11-23arm: mx28: fix bit operation in clock settingWolfram Sang1-1/+1
reg | (1 << clk->enable_shift) always evaluates to true. Switch it to & which makes much more sense. Same fix as 13be9f00 (ARM i.MX28: fix bit operation) at a different location. Signed-off-by: Wolfram Sang <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Shawn Guo <[email protected]> Signed-off-by: Shawn Guo <[email protected]> Cc: [email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2011-11-23Merge branch 'for-linus' of ↵Linus Torvalds1-0/+16
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest: ktest: Check parent options for iterated tests
2011-11-23Merge branch 'i2c-for-linus' of ↵Linus Torvalds5-24/+25
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c: Make i2cdev_notifier_call static i2c: Delete ANY_I2C_BUS i2c: Fix device name for 10-bit slave address i2c-algo-bit: Generate correct i2c address sequence for 10-bit target
2011-11-23Merge branch 'for-linus' of ↵Linus Torvalds2-7/+10
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: TPS65910: Fix VDD1/2 voltage selector count
2011-11-23Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds22-432/+600
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (31 commits) drm: integer overflow in drm_mode_dirtyfb_ioctl() drivers/gpu/vga/vgaarb.c: add missing kfree drm/radeon/kms/atom: unify i2c gpio table handling drm/radeon/kms: fix up gpio i2c mask bits for r4xx for real ttm: Don't return the bo reserved on error path drm/radeon/kms: add a CS ioctl flag not to rewrite tiling flags in the CS drm/i915: Fix inconsistent backlight level during disabled drm, i915: Fix memory leak in i915_gem_busy_ioctl(). drm/i915: Use DPCD value for max DP lanes. drm/i915: Initiate DP link training only on the lanes we'll be using drm/i915: Remove trailing white space drm/i915: Try harder during dp pattern 1 link training drm/i915: Make DP prepare/commit consistent with DP dpms drm/i915: Let panel power sequencing hardware do its job drm/i915: Treat PCH eDP like DP in most places drm/i915: Remove link_status field from intel_dp structure drm/i915: Move common PCH_PP_CONTROL setup to ironlake_get_pp_control drm/i915: Module parameters using '-1' as default must be signed type drm/i915: Turn on another required clock gating bit on gen6. drm/i915: Turn on a required 3D clock gating bit on Sandybridge. ...
2011-11-23percpu: explain why per_cpu_ptr_to_phys() is more complicated than necessaryDave Young1-0/+11
Add comments about current per_cpu_ptr_to_phys implementation to explain why the logic is more complicated than necessary. -tj: relocated comment into kerneldoc comment Signed-off-by: Dave Young <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2011-11-23Merge branch 'fix/asoc' into for-linusTakashi Iwai15-20/+88
2011-11-23regulator: TPS65910: Fix VDD1/2 voltage selector countAfzal Mohammed2-7/+10
Count of selector voltage is required for regulator_set_voltage to work via set_voltage_sel. VDD1/2 currently have it as zero, so regulator_set_voltage won't work for VDD1/2. Update count (n_voltages) for VDD1/2. Output Voltage = (step value * 12.5 mV + 562.5 mV) * gain With above expr, number of voltages that can be selected is step value count * gain count constant for gain count will be called VDD1_2_NUM_VOLT_COARSE existing constant for step value count is VDD1_2_NUM_VOLTS, use VDD1_2_NUM_VOLT_FINE instead to make clear that step value is not the only component in deciding selectable voltage count Signed-off-by: Afzal Mohammed <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-11-23i2c: Make i2cdev_notifier_call staticShubhrajyoti D1-1/+1
The function i2cdev_notifier_call is used only in i2c-dev file making it static. Also removes the following sparse warning drivers/i2c/i2c-dev.c:582:5: warning: symbol 'i2cdev_notifier_call' was not declared. Should it be static? Signed-off-by: Shubhrajyoti D <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-11-23i2c: Delete ANY_I2C_BUSJean Delvare1-3/+0
Last piece of code using ANY_I2C_BUS was deleted almost 2 years ago, so ANY_I2C_BUS can go away as well. Signed-off-by: Jean Delvare <[email protected]>
2011-11-23i2c: Fix device name for 10-bit slave addressJean Delvare2-18/+22
10-bit addresses overlap with traditional 7-bit addresses, leading in device name collisions. Add an arbitrary offset to 10-bit addresses to prevent this collision. The offset was chosen so that the address is still easily recognizable. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Wolfram Sang <[email protected]>
2011-11-23i2c-algo-bit: Generate correct i2c address sequence for 10-bit targetJeffrey (Sheng-Hui) Chu1-2/+2
The wrong bits were put on the wire, fix that. This fixes kernel bug #42562. Signed-off-by: Sheng-Hui J. Chu <[email protected]> Cc: [email protected] Signed-off-by: Jean Delvare <[email protected]>
2011-11-23drm: integer overflow in drm_mode_dirtyfb_ioctl()Xi Wang2-0/+6
There is a potential integer overflow in drm_mode_dirtyfb_ioctl() if userspace passes in a large num_clips. The call to kmalloc would allocate a small buffer, and the call to fb->funcs->dirty may result in a memory corruption. Reported-by: Haogang Chen <[email protected]> Signed-off-by: Xi Wang <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2011-11-23ALSA: hda/realtek - Minor cleanupTakashi Iwai1-12/+12
Use an inline function for the common pattern for assigning a capsrc. Signed-off-by: Takashi Iwai <[email protected]>
2011-11-23ALSA: hda/realtek - Fix missing inits of item indices for auto-micTakashi Iwai1-1/+13
When the imux entries are rebuilt in alc_rebuild_imux_for_auto_mic(), the initialization of index field is missing. It may work without it casually when the original imux was created by the auto-parser, but it's definitely broken in the case of static configs where no imux was parsed beforehand. Because of this, the auto-mic switching doesn't work properly on some model options. This patch adds the missing initialization of index field. Reported-by: Dmitry Nezhevenko <[email protected]> Cc: <[email protected]> [v3.1] Signed-off-by: Takashi Iwai <[email protected]>
2011-11-23ALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecsTakashi Iwai1-9/+23
The PCI SSID 8086:7270 is commonly used for multiple Apple machines, thus we can't use it as identifier for a unique model. Because of this conflict, some machines show weird behavior. For example, MacBook Air shows Front and Surround speakers although only Surround works due to the wrongly overridden pin-configuration for imac27. This patch fixes two things: - Stop the wrong pin-config override of imac27 by removing PCI SSID entry for avoiding the wrong mappings, - Add the generic GPIO setup for Apple machines by checking the codec SSID vendor bits Tested-by: Linus Torvalds <[email protected]> Tested-by: Dirk Hohndel <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2011-11-23ALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config()Takashi Iwai1-3/+3
In snd_hda_check_board_codec_sid_config(), not only comparing with the exact value but allow the bit-mask comparison for vendor-only, etc. Tested-by: Linus Torvalds <[email protected]> Tested-by: Dirk Hohndel <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2011-11-22Revert "of/irq: of_irq_find_parent: check for parent equal to child"Linus Torvalds1-7/+7
This reverts commit dc9372808412edbc653a675a526c2ee6c0c14a91. As requested by Ben Herrenschmidt: "This breaks some powerpc platforms at least. The practice of having a node provide an explicit "interrupt-parent" property pointing to itself is an old trick that we've used in the past to allow a device-node to have interrupts routed to different controllers. In that case, the node also contains an interrupt-map, so the node is its own parent, the interrupt resolution hits the map, which then can route each individual interrupt to a different parent." Grant says: "Ah, nuts, yes that is broken then. Yes, please revert the commit and Rob & I will come up with a better solution. Rob, I think it can be done by explicitly checking for np == desc->interrupt_parent in of_irq_init() instead of relying on of_irq_find_parent() returning NULL." Requested-by: Benjamin Herrenschmidt <[email protected]> Acked-by: Grant Likely <[email protected]> Cc: Rob Herring <[email protected]> Cc: [email protected] Cc: linuxppc-dev <[email protected]> Cc: Tanmay Inamdar <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-11-22SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is clearedTrond Myklebust1-2/+1
By returning '0' instead of 'EAGAIN' when the tests in xs_nospace() fail to find evidence of socket congestion, we are making the RPC engine believe that the message was incorrectly sent and so it disconnects the socket instead of just retrying. The bug appears to have been introduced by commit 5e3771ce2d6a69e10fcc870cdf226d121d868491 (SUNRPC: Ensure that xs_nospace return values are propagated). Reported-by: Andrew Cooper <[email protected]> Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected] [>= 2.6.30] Tested-by: Andrew Cooper <[email protected]>
2011-11-22Merge branch 'for-linus' of ↵Linus Torvalds3-25/+13
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: mount_subtree() pointless use-after-free iio: fix a leak due to improper use of anon_inode_getfd() microblaze: bury asm/namei.h