Permalink
Commits on Jan 11, 2010
  1. @NigelCunningham

    Bump version to 3.0.9.45.

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

    Remove 31 char swap path limit.

    The header locations code has had an unnecessary limit of 31
    characters on the display of the path to the swap storage being
    used. Remove that limit - we can handle up to PAGE_SIZE chars.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  3. @NigelCunningham

    Make resume file offset hex.

    With the UUID changes, we've started showing decimal sector offsets.
    Switch back to hex for consistency - and because they're shorter.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  4. @NigelCunningham

    Shift setting TOI_IO_STOPPED.

    Shift the setting of TOI_IO_STOPPED to after we check whether
    we're being told to stop a resume. This avoids racing against
    the code in the STOP_RESUME test, which could also clean up
    modules, ensuring we have enough memory for powerdown functions.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  5. @NigelCunningham

    Open/close bdev logic simplification.

    Simplify the logic of bdev opening and closing.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  6. @NigelCunningham

    Check ext2/3/4 mount times.

    Combined the ext2, 3 and 4 lines into one and add the information
    needed to check last mount times for this filesystem type.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  7. @NigelCunningham

    Save last mount times in header & check at resume.

    Save last mount times for block device backed filesystems in the
    image header, and check at resume time that those values haven't
    changed.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  8. @NigelCunningham

    Bdev open & close cleanups.

    Cleanup opening and closing bdevs by shifting toi_close_bdev
    to the builtin.c file and removing the mode parameter from
    toi_open_by_devnum.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  9. @NigelCunningham

    Switch uuid to fs_info struct

    Switch from returning just a uuid to returning a struct
    describing the uuid, last mount time and size of the last
    mount time.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  10. @NigelCunningham

    Data structures for checking last mount times

    Add fields to the uuid_info struct that can be used for
    checking whether a filesystem has been mounted by a different
    kernel since we wrote the hibernation image.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
  11. @NigelCunningham

    Ignore zero UUIDs.

    Ignore UUIDs that are all zeros. Apparently some filesystem utlities
    (or versions thereof) give the option of not setting a UUID. If,
    therefore, the UUID is empty, ignore it. This will make us fall back
    to the older formats (resume=/dev/sda1, eg) for such filesystems.
    
    Signed-off-by: Nigel Cunningham <nigel@tuxonice.net>
    NigelCunningham committed Jan 11, 2010
Commits on Jan 8, 2010
  1. @NigelCunningham
Commits on Jan 6, 2010
  1. @gregkh

    Linux 2.6.32.3

    gregkh committed Jan 6, 2010
  2. @gregkh

    generic_permission: MAY_OPEN is not write access

    commit 7ea6600 upstream.
    
    generic_permission was refusing CAP_DAC_READ_SEARCH-enabled
    processes from opening DAC-protected files read-only, because
    do_filp_open adds MAY_OPEN to the open mask.
    
    Ignore MAY_OPEN.  After this patch, CAP_DAC_READ_SEARCH is
    again sufficient to open(fname, O_RDONLY) on a file to which
    DAC otherwise refuses us read permission.
    
    Reported-by: Mike Kazantsev <mk.fraggod@gmail.com>
    Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
    Tested-by: Mike Kazantsev <mk.fraggod@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Serge E. Hallyn committed with gregkh Dec 29, 2009
  3. @gregkh

    rt2x00: Disable powersaving for rt61pci and rt2800pci.

    commit 93b6bd2 upstream.
    
    We've had many reports of rt61pci failures with powersaving enabled.
    Therefore, as a stop-gap measure, disable powersaving of the rt61pci
    until we have found a proper solution.
    Also disable powersaving on rt2800pci as it most probably will show
    the same problem.
    
    Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Gertjan van Wingerde committed with gregkh Dec 14, 2009
  4. @gregkh

    ksm: fix mlockfreed to munlocked

    2.6.33-rc1 commit 73848b4, adjusted
    to include 31e855e's movement of
    the unlock_page(oldpage), but omit other intervening cleanups.
    
    When KSM merges an mlocked page, it has been forgetting to munlock it:
    that's been left to free_page_mlock(), which reports it in /proc/vmstat
    as unevictable_pgs_mlockfreed instead of unevictable_pgs_munlocked,
    which indicates that such pages _might_ be left unevictable for long
    after they should be evictable.  Call munlock_vma_page() to fix that.
    
    Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Hugh Dickins committed with gregkh Dec 30, 2009
  5. @rikvanriel @gregkh

    vmscan: do not evict inactive pages when skipping an active list scan

    commit b39415b upstream.
    
    In AIM7 runs, recent kernels start swapping out anonymous pages well
    before they should.  This is due to shrink_list falling through to
    shrink_inactive_list if !inactive_anon_is_low(zone, sc), when all we
    really wanted to do is pre-age some anonymous pages to give them extra
    time to be referenced while on the inactive list.
    
    The obvious fix is to make sure that shrink_list does not fall through to
    scanning/reclaiming inactive pages when we called it to scan one of the
    active lists.
    
    This change should be safe because the loop in shrink_zone ensures that we
    will still shrink the anon and file inactive lists whenever we should.
    
    [kosaki.motohiro@jp.fujitsu.com: inactive_file_is_low() should be inactive_anon_is_low()]
    Reported-by: Larry Woodman <lwoodman@redhat.com>
    Signed-off-by: Rik van Riel <riel@redhat.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Tomasz Chmielewski <mangoo@wpkg.org>
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Rik Theys <rik.theys@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    rikvanriel committed with gregkh Dec 15, 2009
  6. @rustyrussell @gregkh

    lguest: fix bug in setting guest GDT entry

    commit 3e27249 upstream.
    
    We kill the guest, but then we blatt random stuff.
    
    Reported-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    rustyrussell committed with gregkh Jan 4, 2010
  7. @fangwenqi @gregkh

    ext4: Update documentation to correct the inode_readahead_blks option…

    … name
    
    commit 6d3b82f upstream.
    
    Per commit 240799c, the option name for readahead should be
    inode_readahead_blks, not inode_readahead.
    
    Signed-off-by: Fang Wenqi <antonf@turbolinux.com.cn>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    fangwenqi committed with gregkh Dec 24, 2009
  8. @gregkh

    sched: Sched_rt_periodic_timer vs cpu hotplug

    commit 047106a upstream.
    
    Heiko reported a case where a timer interrupt managed to
    reference a root_domain structure that was already freed by a
    concurrent hot-un-plug operation.
    
    Solve this like the regular sched_domain stuff is also
    synchronized, by adding a synchronize_sched() stmt to the free
    path, this ensures that a root_domain stays present for any
    atomic section that could have observed it.
    
    Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Gregory Haskins <ghaskins@novell.com>
    Cc: Siddha Suresh B <suresh.b.siddha@intel.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    LKML-Reference: <1258363873.26714.83.camel@laptop>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Peter Zijlstra committed with gregkh Nov 16, 2009
  9. @gregkh

    amd64_edac: fix forcing module load/unload

    commit 43f5e68 upstream.
    
    Clear the override flag after force-loading the module.
    
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Dec 21, 2009
  10. @gregkh

    amd64_edac: make driver loading more robust

    commit 56b34b9 upstream.
    
    Currently, the module does not initialize fully when the DIMMs aren't
    ECC but remains still loaded. Propagate the error when no instance of
    the driver is properly initialized and prevent further loading.
    
    Reorganize and polish error handling in amd64_edac_init() while at it.
    
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Dec 21, 2009
  11. @gregkh

    amd64_edac: fix driver instance freeing

    commit 8f68ed9 upstream.
    
    Fix use-after-free errors by pushing all memory-freeing calls to the end
    of amd64_remove_one_instance().
    
    Reported-by: Darren Jenkins <darrenrjenkins@gmail.com>
    LKML-Reference: <1261370306.11354.52.camel@ICE-BOX>
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Dec 21, 2009
  12. @gregkh

    x86, msr: msrs_alloc/free for CONFIG_SMP=n

    commit 6ede31e upstream.
    
    Randy Dunlap reported the following build error:
    
    "When CONFIG_SMP=n, CONFIG_X86_MSR=m:
    
    ERROR: "msrs_free" [drivers/edac/amd64_edac_mod.ko] undefined!
    ERROR: "msrs_alloc" [drivers/edac/amd64_edac_mod.ko] undefined!"
    
    This is due to the fact that <arch/x86/lib/msr.c> is conditioned on
    CONFIG_SMP and in the UP case we have only the stubs in the header.
    Fork off SMP functionality into a new file (msr-smp.c) and build
    msrs_{alloc,free} unconditionally.
    
    Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
    LKML-Reference: <20091216231625.GD27228@liondog.tnic>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Dec 16, 2009
  13. @gregkh

    x86, msr: Add support for non-contiguous cpumasks

    commit 5054225 upstream.
    
    The current rd/wrmsr_on_cpus helpers assume that the supplied
    cpumasks are contiguous. However, there are machines out there
    like some K8 multinode Opterons which have a non-contiguous core
    enumeration on each node (e.g. cores 0,2 on node 0 instead of 0,1), see
    http://www.gossamer-threads.com/lists/linux/kernel/1160268.
    
    This patch fixes out-of-bounds writes (see URL above) by adding per-CPU
    msr structs which are used on the respective cores.
    
    Additionally, two helpers, msrs_{alloc,free}, are provided for use by
    the callers of the MSR accessors.
    
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
    Cc: Aristeu Rozanski <aris@redhat.com>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Doug Thompson <dougthompson@xmission.com>
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    LKML-Reference: <20091211171440.GD31998@aftab>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Dec 11, 2009
  14. @gregkh

    amd64_edac: unify MCGCTL ECC switching

    commit f6d6ae9 upstream.
    
    Unify almost identical code into one function and remove NUMA-specific
    usage (specifically cpumask_of_node()) in favor of generic topology
    methods.
    
    Remove unused defines, while at it.
    
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Nov 3, 2009
  15. @rustyrussell @gregkh

    cpumask: use modern cpumask style in drivers/edac/amd64_edac.c

    commit ba578cb upstream.
    
    cpumask_t -> struct cpumask, and don't put one on the stack.  (Note: this
    is actually on the stack unless CONFIG_CPUMASK_OFFSTACK=y).
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    rustyrussell committed with gregkh Nov 3, 2009
  16. @gregkh

    x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus

    commit b8a4754 upstream.
    
    Since rdmsr_on_cpus and wrmsr_on_cpus are almost identical, unify them
    into a common __rwmsr_on_cpus helper thus avoiding code duplication.
    
    While at it, convert cpumask_t's to const struct cpumask *.
    
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Borislav Petkov committed with gregkh Jul 30, 2009
  17. @dmonakhov @gregkh

    ext4: fix sleep inside spinlock issue with quota and dealloc (#14739)

    commit 39bc680 upstream.
    
    Unlock i_block_reservation_lock before vfs_dq_reserve_block().
    This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=14739
    
    Cc: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dmonakhov committed with gregkh Dec 10, 2009
  18. @dmonakhov @gregkh

    ext4: Convert to generic reserved quota's space management.

    commit a9e7f44 upstream.
    
    This patch also fixes write vs chown race condition.
    
    Acked-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dmonakhov committed with gregkh Dec 14, 2009
  19. @dmonakhov @gregkh

    quota: decouple fs reserved space from quota reservation

    commit fd8fbfc upstream.
    
    Currently inode_reservation is managed by fs itself and this
    reservation is transfered on dquot_transfer(). This means what
    inode_reservation must always be in sync with
    dquot->dq_dqb.dqb_rsvspace. Otherwise dquot_transfer() will result
    in incorrect quota(WARN_ON in dquot_claim_reserved_space() will be
    triggered)
    This is not easy because of complex locking order issues
    for example http://bugzilla.kernel.org/show_bug.cgi?id=14739
    
    The patch introduce quota reservation field for each fs-inode
    (fs specific inode is used in order to prevent bloating generic
    vfs inode). This reservation is managed by quota code internally
    similar to i_blocks/i_bytes and may not be always in sync with
    internal fs reservation.
    
    Also perform some code rearrangement:
    - Unify dquot_reserve_space() and dquot_reserve_space()
    - Unify dquot_release_reserved_space() and dquot_free_space()
    - Also this patch add missing warning update to release_rsv()
      dquot_release_reserved_space() must call flush_warnings() as
      dquot_free_space() does.
    
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dmonakhov committed with gregkh Dec 14, 2009
  20. @dmonakhov @gregkh

    Add unlocked version of inode_add_bytes() function

    commit b462707 upstream.
    
    Quota code requires unlocked version of this function. Off course
    we can just copy-paste the code, but copy-pasting is always an evil.
    
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dmonakhov committed with gregkh Dec 14, 2009
  21. @jankara @gregkh

    udf: Try harder when looking for VAT inode

    commit e971b0b upstream.
    
    Some disks do not contain VAT inode in the last recorded block as required
    by the standard but a few blocks earlier (or the number of recorded blocks
    is wrong). So look for the VAT inode a bit before the end of the media.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jankara committed with gregkh Nov 30, 2009
  22. @arvidjaar @gregkh

    orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled

    commit 5b06915 upstream.
    
    orinoco_set_key is called from two places both with interrupts disabled
    (under orinoco_lock). Use GFP_ATOMIC instead of GFP_KERNEL. Fixes following
    warning:
    
    [   77.254109] WARNING: at /home/bor/src/linux-git/kernel/lockdep.c:2465 lockdep_trace_alloc+0x9a/0xa0()
    [   77.254109] Hardware name: PORTEGE 4000
    [   77.254109] Modules linked in: af_packet irnet ppp_generic slhc ircomm_tty ircomm binfmt_misc dm_mirror dm_region_hash dm_log dm_round_robin dm_multipath dm_mod loop nvram toshiba cryptomgr aead pcompress crypto_blkcipher michael_mic crypto_hash crypto_algapi orinoco_cs orinoco cfg80211 smsc_ircc2 pcmcia irda toshiba_acpi yenta_socket video i2c_ali1535 backlight rsrc_nonstatic ali_agp pcmcia_core psmouse output crc_ccitt i2c_core alim1535_wdt rfkill sg evdev ohci_hcd agpgart usbcore pata_ali libata reiserfs [last unloaded: scsi_wait_scan]
    [   77.254109] Pid: 2296, comm: wpa_supplicant Not tainted 2.6.32-1avb #1
    [   77.254109] Call Trace:
    [   77.254109]  [<c011f0ad>] warn_slowpath_common+0x6d/0xa0
    [   77.254109]  [<c014206a>] ? lockdep_trace_alloc+0x9a/0xa0
    [   77.254109]  [<c014206a>] ? lockdep_trace_alloc+0x9a/0xa0
    [   77.254109]  [<c011f0f5>] warn_slowpath_null+0x15/0x20
    [   77.254109]  [<c014206a>] lockdep_trace_alloc+0x9a/0xa0
    [   77.254109]  [<c018d296>] __kmalloc+0x36/0x130
    [   77.254109]  [<dffcb6a8>] ? orinoco_set_key+0x48/0x1c0 [orinoco]
    [   77.254109]  [<dffcb6a8>] orinoco_set_key+0x48/0x1c0 [orinoco]
    [   77.254109]  [<dffcb9fc>] orinoco_ioctl_set_encodeext+0x1dc/0x2d0 [orinoco]
    [   77.254109]  [<c035b117>] ioctl_standard_call+0x207/0x3b0
    [   77.254109]  [<dffcb820>] ? orinoco_ioctl_set_encodeext+0x0/0x2d0 [orinoco]
    [   77.254109]  [<c0307f1f>] ? rtnl_lock+0xf/0x20
    [   77.254109]  [<c0307f1f>] ? rtnl_lock+0xf/0x20
    [   77.254109]  [<c02fb115>] ? __dev_get_by_name+0x85/0xb0
    [   77.254109]  [<c035b616>] wext_handle_ioctl+0x176/0x200
    [   77.254109]  [<dffcb820>] ? orinoco_ioctl_set_encodeext+0x0/0x2d0 [orinoco]
    [   77.254109]  [<c030020f>] dev_ioctl+0x6af/0x730
    [   77.254109]  [<c02eec65>] ? move_addr_to_kernel+0x55/0x60
    [   77.254109]  [<c02eed59>] ? sys_sendto+0xe9/0x130
    [   77.254109]  [<c02ed77e>] sock_ioctl+0x7e/0x250
    [   77.254109]  [<c02ed700>] ? sock_ioctl+0x0/0x250
    [   77.254109]  [<c019cf4c>] vfs_ioctl+0x1c/0x70
    [   77.254109]  [<c019d1fa>] do_vfs_ioctl+0x6a/0x590
    [   77.254109]  [<c0178e50>] ? might_fault+0x90/0xa0
    [   77.254109]  [<c0178e0a>] ? might_fault+0x4a/0xa0
    [   77.254109]  [<c02ef90e>] ? sys_socketcall+0x17e/0x280
    [   77.254109]  [<c019d759>] sys_ioctl+0x39/0x60
    [   77.254109]  [<c0102e3b>] sysenter_do_call+0x12/0x32
    [   77.254109] ---[ end trace 95ef563548d21efd ]---
    
    Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    arvidjaar committed with gregkh Dec 22, 2009
  23. @bonzini @gregkh

    xen: wait up to 5 minutes for device connetion

    commit ae78880 upstream.
    
    Increases the device timeout from 10s to 5 minutes, giving the user a
    visual indication during that time in case there are problems.  The patch
    is a backport of changesets 144 and 150 in the Xenbits tree.
    
    Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    bonzini committed with gregkh Jul 8, 2009