Skip to content
Commits on Feb 11, 2010
  1. @NigelCunningham

    Bump version to 3.0.99.49.

    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  2. @NigelCunningham

    Set num workers before starting threads.

    Rework the handling of toi_io_workers so that instead of
    incrementing it as each thread starts, the value is set
    prior to the threads being started. This helps ensure that
    we won't call the last_worker logic (at the bottom of the
    loop code) multiple times if one or more threads don't
    end up doing any work.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  3. @NigelCunningham

    Don't cause multiple error messages unnecessarily.

    If, in the bio queue flushing routine, we get an error doing
    I/O on a page, there's no point trying subsequent pages. Avoid
    repeating the error message by skipping the toi_bio_rw_page
    call.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  4. @NigelCunningham

    Fix potential rw cleanup race.

    The bio code's rw_cleanup routine isn't normally called while there
    are multiple threads running (except when aborting, to free memory),
    but it's probably a good idea if we make it a bit more robust anyway:
    keep calling the queue flushing routine until there's no more work
    to do, instead of assuming that one call will do the trick.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  5. @NigelCunningham

    Fix potential future compression length issue.

    At the moment, the buffer passed to the compression code is always of size
    PAGE_SIZE. That might not be the case in the future, though so rather than
    copying the size of the input buffer into the space available for compression
    output, explicitly use PAGE_SIZE.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  6. @NigelCunningham

    Fix handling of no data left to read case.

    TuxOnIce has occasionally been reported to return -ENODATA at the
    end of resuming, resulting in an oops. I've discovered today that
    the cause is actually I/O threads not getting run until all the
    data has been read. In this situation, they try to read bogus data
    on their first iteration through the main loop. The solution is to
    check the count of outstanding I/O up front, bypassing the plugins
    if there's no data to read, and dropping straight through to the
    cleanup.
    
    As part of this, we need to adjust the error handling in the main
    loop so that io_result isn't to -ENODATA when this happens, which
    will also correct the handling of the situation in the case where
    we're writing the image.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  7. @NigelCunningham

    Fix potential write hang.

    Fix a potential (not actually reported as far as I recall) hang in the core
    image writing code - a failure to unlock a mutex in a rarely used path.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
  8. @NigelCunningham

    Change bio errors from ENODATA to ENOSPC.

    Change the errors returne from block I/O code from ENODATA to
    ENOSPC, so they can be distinguished from the ENODATA messages
    produced by the core code.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 11, 2010
Commits on Feb 9, 2010
  1. @NigelCunningham

    Bump version to 3.0.99.48.

    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 10, 2010
  2. @NigelCunningham

    Fix unitialised output size value.

    LZO expects output_size to be initialised to the amount of space
    available in the output buffer prior to calling its decompression
    routine. Fix this in the compression checking routine (it's already
    initialised in the main version) so as to avoid false failure
    reports such as the one I passed on to Richard and Nitin.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 10, 2010
  3. @NigelCunningham

    Complain if header version too new.

    Add a check of the header version number, so we complain and give the
    option of rebooting if it's too new for this version to be able to
    use.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Feb 10, 2010
  4. @NigelCunningham
  5. @gregkh

    Linux 2.6.32.8

    gregkh committed Feb 9, 2010
  6. @gregkh

    NET: fix oops at bootime in sysctl code

    This fixes the boot time oops on the 2.6.32-stable tree.  It is needed
    only in this tree due to the divergance from upstream.
    
    From: jamal <hadi@cyberus.ca>
    Acked-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jamal committed with gregkh Feb 4, 2010
  7. @andreas-schwab @gregkh

    powerpc: TIF_ABI_PENDING bit removal

    commit 94f28da upstream.
    
    Here are the powerpc bits to remove TIF_ABI_PENDING now that
    set_personality() is called at the appropriate place in exec.
    
    Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    andreas-schwab committed with gregkh Jan 30, 2010
  8. @gregkh

    ath9k: fix beacon slot/buffer leak

    commit 7440177 upstream.
    
    When cleaning up beacon buffers and slots, ath9k currently checks if
    sc->ah->opmode is set to a beacon related mode before cleaning up
    buffers.
    An unfortunate ordering of interface up/down commands can lead to
    sc->ah->opmode being set to monitor mode, while there are AP interfaces
    present on the same wiphy.
    Always cleaning up beacon buffers if present fixes this issue.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Felix Fietkau committed with gregkh Jan 19, 2010
  9. @gregkh

    ath9k: fix eeprom INI values override for 2GHz-only cards

    commit aa8bc9e upstream.
    
    Among other changes, this commit:
    
       commit 06d0f06
       Author: Sujith <Sujith.Manoharan@atheros.com>
       Date:   Thu Feb 12 10:06:45 2009 +0530
    
       ath9k: Enable Fractional N mode
    
    changed the hw attach code to fix up initialization values only for
    dual band devices, however the commit message did not give a reason as
    to why this would be useful or necessary.
    
    According to tests by Jorge Boncompte, this breaks at least some
    2GHz-only cards, so the code should be changed back to the
    unconditional INI fixup.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Reported-by: Jorge Boncompte <jorge@dti2.net>
    Tested-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Felix Fietkau committed with gregkh Jan 23, 2010
  10. @gregkh

    pktcdvd: removing device does not remove its sysfs dir

    commit ca0bf64 upstream.
    
    This is the counterpart to cba7671
    ("pktcdvd: remove broken dev_t export of class devices").  Device is not
    registered using dev_t, so it should not be destroyed using device_destroy
    which looks up the device by dev_t.  This will fail and adding the device
    again will fail with the "duplicate name" error.  This is fixed using
    device_unregister instead of device_destroy.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Cc: Peter Osterlund <petero2@telia.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Thadeu Lima de Souza Cascardo committed with gregkh Feb 2, 2010
  11. @gregkh

    uartlite: fix crash when using as console

    commit 03eac7b upstream.
    
    Move the ulite_console_setup to the .devinit section since it might be
    called on probe, which is in devinit.  Fixes the crash below where the
    uartlite hw is probed after the .init section is freed from the kernel.
    
    uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite
    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [<c176720e>] ulite_console_setup+0x6f/0xa8
    *pdpt = 0000000036fb0001 *pde = 0000000000000000
    Oops: 0000 [#1] PREEMPT SMP
    last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent
    Modules linked in: puffin(+) serio_raw
    
    Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO
    EIP: 0060:[<c176720e>] EFLAGS: 00010246 CPU: 0
    EIP is at ulite_console_setup+0x6f/0xa8
    EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000
    ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8
     DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000)
    Stack:
     c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316
    <0> c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020
    <0> 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000
    Call Trace:
     [<c1031f51>] ? register_console+0xf6/0x1fc
     [<c11fd316>] ? uart_add_one_port+0x237/0x2bb
     [<c10e0786>] ? sysfs_add_one+0x13/0xd3
     [<c10e142f>] ? sysfs_do_create_link+0xba/0xfc
     [<c146f200>] ? ulite_probe+0x198/0x1eb
     [<c12064ee>] ? platform_drv_probe+0xc/0xe
     [<c120597b>] ? driver_probe_device+0x79/0x105
     [<c1205a8e>] ? __device_attach+0x28/0x30
     [<c120511f>] ? bus_for_each_drv+0x3d/0x67
     [<c1205af9>] ? device_attach+0x44/0x58
     [<c1205a66>] ? __device_attach+0x0/0x30
     [<c1204fb8>] ? bus_probe_device+0x1f/0x34
     [<c1203e68>] ? device_add+0x385/0x4c0
     [<c148491f>] ? _write_unlock+0x8/0x1f
     [<c1206aac>] ? platform_device_add+0xd9/0x11c
     [<c120c685>] ? mfd_add_devices+0x165/0x1bc
     [<f831b378>] ? puffin_probe+0x2d0/0x390 [puffin]
     [<c11a08ef>] ? pci_match_device+0xa0/0xa7
     [<c11a07bc>] ? local_pci_probe+0xe/0x10
     [<c11a11db>] ? pci_device_probe+0x43/0x66
     [<c120597b>] ? driver_probe_device+0x79/0x105
     [<c1205a4a>] ? __driver_attach+0x43/0x5f
     [<c120535d>] ? bus_for_each_dev+0x3d/0x67
     [<c1205852>] ? driver_attach+0x14/0x16
     [<c1205a07>] ? __driver_attach+0x0/0x5f
     [<c1204dea>] ? bus_add_driver+0xf9/0x220
     [<c1205c8f>] ? driver_register+0x8b/0xeb
     [<c11a1518>] ? __pci_register_driver+0x43/0x9f
     [<c10477ef>] ? __blocking_notifier_call_chain+0x40/0x4c
     [<f831f000>] ? puffin_init+0x0/0x48 [puffin]
     [<f831f017>] ? puffin_init+0x17/0x48 [puffin]
     [<c1001139>] ? do_one_initcall+0x4c/0x131
     [<c105607b>] ? sys_init_module+0xa7/0x1b7
     [<c1002a61>] ? syscall_call+0x7/0xb
     Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32
    00 00 14 00 09 01 61 6c 73 61 2d 69 <6e> 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c
    EIP: [<c176720e>] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8
    CR2: 0000000000000000
    
    Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
    Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Richard Röjfors committed with gregkh Feb 2, 2010
  12. @JuliaLawall @gregkh

    kernel/cred.c: use kmem_cache_free

    commit b8a1d37 upstream.
    
    Free memory allocated using kmem_cache_zalloc using kmem_cache_free rather
    than kfree.
    
    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    expression x,E,c;
    @@
    
     x = \(kmem_cache_alloc\|kmem_cache_zalloc\|kmem_cache_alloc_node\)(c,...)
     ... when != x = E
         when != &x
    ?-kfree(x)
    +kmem_cache_free(c,x)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Acked-by: David Howells <dhowells@redhat.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Steve Dickson <steved@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: James Morris <jmorris@namei.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    JuliaLawall committed with gregkh Feb 3, 2010
  13. @gregkh

    starfire: clean up properly if firmware loading fails

    commit c928feb upstream.
    
    netdev_open() will return without cleaning up net device or hardware state
    if firmware loading fails.  This results in a BUG() on a second attempt to
    bring the interface up, reported in
    <http://bugzilla.kernel.org/show_bug.cgi?id=15091>, and probably has even
    worse effects if the driver is removed afterwards.
    
    Call netdev_close() to clean up on failure.
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15091
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Reported-by: Michael Moffatt <michael@moffatt.org.nz>
    Tested-by: Michael Moffatt <michael@moffatt.org.nz>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Ben Hutchings committed with gregkh Jan 26, 2010
  14. @gregkh

    mx3fb: some debug and initialisation fixes

    commit b3cb537 upstream.
    
    Fix the kernel oops when dev_dbg is called with mx3_fbi->txd == NULL
    
    Fix the late initialisation of mx3fb->backlight_level.  If not, in the
    chain of function started by init_fb_chan(), in __blank() call
    sdc_set_brightness(mx3fb, mx3fb->backlight_level) that will shut down the
    CONTRAST PWM output.
    
    Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
    Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alberto Panizzo committed with gregkh Feb 2, 2010
  15. @gregkh

    imxfb: correct location of callbacks in suspend and resume

    commit 1ec5620 upstream.
    
    The probe function passes a pointer to a struct fb_info to
    platform_set_drvdata(), so don't interpret the return value of
    platform_get_drvdata() as a pointer to struct imxfb_info.
    
    The original imxfb_info *fbi backlight_power was NULL but in imxfb_suspend
    it was 4 resulting in an oops as imxfb_suspend calls
    imxfb_disable_controller(fbi) which in turn has
    
    	if (fbi->backlight_power)
    			fbi->backlight_power(0);
    
    Signed-off-by: Uwe Kleine-König  <u.kleine-koenig@pengutronix.de>
    Acked-by: Sascha Hauer <kernel@pengutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Uwe Kleine-König committed with gregkh Feb 2, 2010
  16. @gregkh

    mac80211: fix NULL pointer dereference when ftrace is enabled

    commit 3092ad0 upstream.
    
    I got below kernel oops when I try to bring down the network interface if
    ftrace is enabled. The root cause is drv_ampdu_action() is passed with a
    NULL ssn pointer in the BA session tear down case. We need to check and
    avoid dereferencing it in trace entry assignment.
    
    BUG: unable to handle kernel NULL pointer dereference
    Modules linked in: at (null)
    IP: [<f98fe02a>] ftrace_raw_event_drv_ampdu_action+0x10a/0x160 [mac80211]
    *pde = 00000000
    Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    [...]
    Call Trace:
     [<f98fdf20>] ? ftrace_raw_event_drv_ampdu_action+0x0/0x160 [mac80211]
     [<f98dac4c>] ? __ieee80211_stop_rx_ba_session+0xfc/0x220 [mac80211]
     [<f98d97fb>] ? ieee80211_sta_tear_down_BA_sessions+0x3b/0x50 [mac80211]
     [<f98dc6f6>] ? ieee80211_set_disassoc+0xe6/0x230 [mac80211]
     [<f98dc6ac>] ? ieee80211_set_disassoc+0x9c/0x230 [mac80211]
     [<f98dcbb8>] ? ieee80211_mgd_deauth+0x158/0x170 [mac80211]
     [<f98e4bdb>] ? ieee80211_deauth+0x1b/0x20 [mac80211]
     [<f8987f49>] ? __cfg80211_mlme_deauth+0xe9/0x120 [cfg80211]
     [<f898b870>] ? __cfg80211_disconnect+0x170/0x1d0 [cfg80211]
    
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: Zhu Yi <yi.zhu@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Zhu Yi committed with gregkh Jan 26, 2010
  17. @gregkh

    mm: flush dcache before writing into page to avoid alias

    commit 931e80e upstream.
    
    The cache alias problem will happen if the changes of user shared mapping
    is not flushed before copying, then user and kernel mapping may be mapped
    into two different cache line, it is impossible to guarantee the coherence
    after iov_iter_copy_from_user_atomic.  So the right steps should be:
    
    	flush_dcache_page(page);
    	kmap_atomic(page);
    	write to page;
    	kunmap_atomic(page);
    	flush_dcache_page(page);
    
    More precisely, we might create two new APIs flush_dcache_user_page and
    flush_dcache_kern_page to replace the two flush_dcache_page accordingly.
    
    Here is a snippet tested on omap2430 with VIPT cache, and I think it is
    not ARM-specific:
    
    	int val = 0x11111111;
    	fd = open("abc", O_RDWR);
    	addr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
    	*(addr+0) = 0x44444444;
    	tmp = *(addr+0);
    	*(addr+1) = 0x77777777;
    	write(fd, &val, sizeof(int));
    	close(fd);
    
    The results are not always 0x11111111 0x77777777 at the beginning as expected.  Sometimes we see 0x44444444 0x77777777.
    
    Signed-off-by: Anfei <anfei.zhou@gmail.com>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Cc: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Cc: <linux-arch@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    anfei zhou committed with gregkh Feb 2, 2010
  18. @davem330 @gregkh

    be2net: Fix memset() arg ordering.

    commit d291b9a upstream.
    
    Noticed by Ben Hutchings.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    davem330 committed with gregkh Jan 28, 2010
  19. @gregkh

    be2net: Bug fix to support newer generation of BE ASIC

    commit 7b139c8 upstream.
    
    Bug fix in be2net for newer generation of BladeEngine ASIC.
    
    Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Ajit Khaparde committed with gregkh Jan 27, 2010
  20. @bioothod @gregkh

    connector: Delete buggy notification code.

    commit f98bfbd upstream.
    
    On Tue, Feb 02, 2010 at 02:57:14PM -0800, Greg KH (gregkh@suse.de) wrote:
    > > There are at least two ways to fix it: using a big cannon and a small
    > > one. The former way is to disable notification registration, since it is
    > > not used by anyone at all. Second way is to check whether calling
    > > process is root and its destination group is -1 (kind of priveledged
    > > one) before command is dispatched to workqueue.
    >
    > Well if no one is using it, removing it makes the most sense, right?
    >
    > No objection from me, care to make up a patch either way for this?
    
    Getting it is not used, let's drop support for notifications about
    (un)registered events from connector.
    Another option was to check credentials on receiving, but we can always
    restore it without bugs if needed, but genetlink has a wider code base
    and none complained, that userspace can not get notification when some
    other clients were (un)registered.
    
    Kudos for Sebastian Krahmer <krahmer@suse.de>, who found a bug in the
    code.
    
    Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
    Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    bioothod committed with gregkh Feb 2, 2010
  21. @gregkh

    usb: r8a66597-hdc disable interrupts fix

    commit e5ff15b upstream.
    
    This patch improves disable_controller() in the r8a66597-hdc
    driver to disable all interrupts and clear status flags. It
    also makes sure that disable_controller() is called during
    probe(). This fixes the relatively rare case of unexpected
    pending interrupts after kexec reboot.
    
    Signed-off-by: Magnus Damm <damm@opensource.se>
    Acked-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
    Signed-off-by: Paul Mundt <lethal@linux-sh.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Magnus Damm committed with gregkh Jan 27, 2010
  22. @gregkh

    block: fix bugs in bio-integrity mempool usage

    commit 9e9432c upstream.
    
    Fix two bugs in the bio integrity code:
    
     use_bip_pool() always returns 0 because it checks against the wrong limit,
     causing the mempool to be used only when regular allocation fails.
    
     When the mempool is used as a fallback we don't free the data properly.
    
    Signed-Off-By: Chuck Ebbert <cebbert@redhat.com>
    Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Chuck Ebbert committed with gregkh Jan 30, 2010
  23. @herbertx @gregkh

    random: Remove unused inode variable

    commit cd1510c upstream.
    
    The previous changeset left behind an unused inode variable.
    This patch removes it.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    herbertx committed with gregkh Feb 1, 2010
  24. @gregkh

    random: drop weird m_time/a_time manipulation

    commit a996996 upstream.
    
    No other driver does anything remotely like this that I know of except
    for the tty drivers, and I can't see any reason for random/urandom to do
    it. In fact, it's a (trivial, harmless) timing information leak. And
    obviously, it generates power- and flash-cycle wasting I/O, especially
    if combined with something like hwrngd. Also, it breaks ubifs's
    expectations.
    
    Signed-off-by: Matt Mackall <mpm@selenic.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Matt Mackall committed with gregkh Jan 29, 2010
  25. @torvalds @gregkh

    Fix 'flush_old_exec()/setup_new_exec()' split

    commit 7ab02af upstream.
    
    Commit 221af7f ("Split 'flush_old_exec' into two functions") split
    the function at the point of no return - ie right where there were no
    more error cases to check.  That made sense from a technical standpoint,
    but when we then also combined it with the actual personality setting
    going in between flush_old_exec() and setup_new_exec(), it needs to be a
    bit more careful.
    
    In particular, we need to make sure that we really flush the old
    personality bits in the 'flush' stage, rather than later in the 'setup'
    stage, since otherwise we might be flushing the _new_ personality state
    that we're just setting up.
    
    So this moves the flags and personality flushing (and 'flush_thread()',
    which is the arch-specific function that generally resets lazy FP state
    etc) of the old process into flush_old_exec(), so that it doesn't affect
    any state that execve() is setting up for the new process environment.
    
    This was reported by Michal Simek as breaking his Microblaze qemu
    environment.
    
    Reported-and-tested-by: Michal Simek <michal.simek@petalogix.com>
    Cc: Peter Anvin <hpa@zytor.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    torvalds committed with gregkh Feb 2, 2010
  26. @dmonakhov @gregkh

    block: fix bio_add_page for non trivial merge_bvec_fn case

    commit 1d61658 upstream.
    
    We have to properly decrease bi_size in order to merge_bvec_fn return
    right result.  Otherwise this result in false merge rejects for two
    absolutely valid bio_vecs.  This may cause significant performance
    penalty for example fs_block_size == 1k and block device is raid0 with
    small chunk_size = 8k. Then it is impossible to merge 7-th fs-block in
    to bio which already has 6 fs-blocks.
    
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dmonakhov committed with gregkh Jan 27, 2010
  27. @gregkh

    mm: purge fragmented percpu vmap blocks

    commit 02b709d upstream.
    
    Improve handling of fragmented per-CPU vmaps.  We previously don't free
    up per-CPU maps until all its addresses have been used and freed.  So
    fragmented blocks could fill up vmalloc space even if they actually had
    no active vmap regions within them.
    
    Add some logic to allow all CPUs to have these blocks purged in the case
    of failure to allocate a new vm area, and also put some logic to trim
    such blocks of a current CPU if we hit them in the allocation path (so
    as to avoid a large build up of them).
    
    Christoph reported some vmap allocation failures when using the per CPU
    vmap APIs in XFS, which cannot be reproduced after this patch and the
    previous bug fix.
    
    Cc: linux-mm@kvack.org
    Tested-by: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Nick Piggin <npiggin@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Nick Piggin committed with gregkh Feb 1, 2010
Something went wrong with that request. Please try again.