16 Dec, 2011

1 commit


13 Dec, 2011

1 commit

  • Found one system with UEFI/iBFT, kernel does not detect the iBFT during
    iscsi_ibft module loading.

    Root cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier
    - specifically in setup_arch() before ACPI is enabled.

    Try to split acpi checking code out and call that later

    At that time ACPI iBFT already get permanent mapped with ioremap.
    So isa_virt_to_bus() will get wrong phys from right virt address.
    We could just skip that phys address printing.

    For legacy one, print the found address early.

    -v2: update comments and description according to Konrad.
    -v3: fix problem about module use case that is found by Konrad.
    -v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..
    Signed-off-by: Yinghai Lu
    Signed-off-by: Konrad Rzeszutek Wilk

    Yinghai Lu
     

03 Dec, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED
    ALSA: hda_intel - revert a quirk that affect VIA chipsets
    ALSA: hda - Avoid touching mute-VREF pin for IDT codecs
    firmware: Sigma: Fix endianess issues
    firmware: Sigma: Skip header during CRC generation
    firmware: Sigma: Prevent out of bounds memory access
    ALSA: usb-audio - Support for Roland GAIA SH-01 Synthesizer
    ASoC: Supply dcs_codes for newer WM1811 revisions
    ASoC: Error out if we can't generate a LRCLK at all for WM8994
    ASoC: Correct name of Speyside Main Speaker widget
    ASoC: skip resume of soc-audio devices without codecs
    ASoC: cs42l51: Fix off-by-one for reg_cache_size
    ASoC: drop support for PlayPaq with WM8510
    ASoC: mpc8610: tell the CS4270 codec that it's the master
    ASoC: cs4720: use snd_soc_cache_sync()
    ASoC: SAMSUNG: Fix build error
    ASoC: max9877: Update register if either val or val2 is changed
    ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSET

    Linus Torvalds
     

29 Nov, 2011

6 commits


18 Nov, 2011

1 commit

  • The buf_lock cannot be held while populating the inodes, so make the backend
    pass forward an allocated and filled buffer instead. This solves the following
    backtrace. The effect is that "buf" is only ever used to notify the backends
    that something was written to it, and shouldn't be used in the read path.

    To replace the buf_lock during the read path, isolate the open/read/close
    loop with a separate mutex to maintain serialized access to the backend.

    Note that is is up to the pstore backend to cope if the (*write)() path is
    called in the middle of the read path.

    [ 59.691019] BUG: sleeping function called from invalid context at .../mm/slub.c:847
    [ 59.691019] in_atomic(): 0, irqs_disabled(): 1, pid: 1819, name: mount
    [ 59.691019] Pid: 1819, comm: mount Not tainted 3.0.8 #1
    [ 59.691019] Call Trace:
    [ 59.691019] [] __might_sleep+0xc3/0xca
    [ 59.691019] [] kmem_cache_alloc+0x32/0xf3
    [ 59.691019] [] ? __d_lookup_rcu+0x6f/0xf4
    [ 59.691019] [] alloc_inode+0x2a/0x64
    [ 59.691019] [] new_inode+0x18/0x43
    [ 59.691019] [] pstore_get_inode.isra.1+0x11/0x98
    [ 59.691019] [] pstore_mkfile+0xae/0x26f
    [ 59.691019] [] ? kmem_cache_free+0x19/0xb1
    [ 59.691019] [] ? ida_get_new_above+0x140/0x158
    [ 59.691019] [] ? __init_rwsem+0x1e/0x2c
    [ 59.691019] [] ? inode_init_always+0x111/0x1b0
    [ 59.691019] [] ? should_resched+0xd/0x27
    [ 59.691019] [] ? _cond_resched+0xd/0x21
    [ 59.691019] [] pstore_get_records+0x52/0xa7
    [ 59.691019] [] pstore_fill_super+0x7d/0x91
    [ 59.691019] [] mount_single+0x46/0x82
    [ 59.691019] [] pstore_mount+0x15/0x17
    [ 59.691019] [] ? pstore_get_inode.isra.1+0x98/0x98
    [ 59.691019] [] mount_fs+0x5a/0x12d
    [ 59.691019] [] ? alloc_vfsmnt+0xa4/0x14a
    [ 59.691019] [] vfs_kern_mount+0x4f/0x7d
    [ 59.691019] [] do_kern_mount+0x34/0xb2
    [ 59.691019] [] do_mount+0x5fc/0x64a
    [ 59.691019] [] ? strndup_user+0x2e/0x3f
    [ 59.691019] [] sys_mount+0x66/0x99
    [ 59.691019] [] sysenter_do_call+0x12/0x26

    Signed-off-by: Kees Cook
    Signed-off-by: Tony Luck

    Kees Cook
     

16 Nov, 2011

1 commit

  • The current implementation of dmi_name_in_vendors() is an invitation to
    lazy coding and false positives [1]. Searching for a string in 8 know
    what you're looking for, so you should know where to look. strstr isn't
    fast, especially when it fails, so we should avoid calling it when it
    just can't succeed.

    Looking at the current users of the function, it seems clear to me that
    they are looking for a system or board vendor name, so let's limit
    dmi_name_in_vendors to these two DMI fields. This much better matches
    the function name, BTW.

    [1] We currently have code looking for short names in DMI data, such as
    "IBM", "ASUS" or "Acer". I let you guess what will happen the day other
    vendors ship products named, for example, "SCHREIBMEISTER", "PEGASUS" or
    "Acerola".

    Signed-off-by: Jean Delvare
    Cc: Andi Kleen
    Cc: Jesse Barnes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

06 Nov, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)
    [SCSI] Fix block queue and elevator memory leak in scsi_alloc_sdev
    [SCSI] scsi_dh_alua: Fix the time inteval for alua rtpg commands
    [SCSI] scsi_transport_iscsi: Fix documentation os parameter
    [SCSI] mv_sas: OCZ RevoDrive3 & zDrive R4 support
    [SCSI] libfc: improve flogi retries to avoid lport stuck
    [SCSI] libfc: avoid exchanges collision during lport reset
    [SCSI] libfc: fix checking FC_TYPE_BLS
    [SCSI] edd: Treat "XPRS" host bus type the same as "PCI"
    [SCSI] isci: overriding max_concurr_spinup oem parameter by max(oem, user)
    [SCSI] isci: revert bcn filtering
    [SCSI] isci: Fix hard reset timeout conditions.
    [SCSI] isci: No need to manage the pending reset bit on pending requests.
    [SCSI] isci: Remove redundant isci_request.ttype field.
    [SCSI] isci: Fix task management for SMP, SATA and on dev remove.
    [SCSI] isci: No task_done callbacks in error handler paths.
    [SCSI] isci: Handle task request timeouts correctly.
    [SCSI] isci: Fix tag leak in tasks and terminated requests.
    [SCSI] isci: Immediately fail I/O to removed devices.
    [SCSI] isci: Lookup device references through requests in completions.
    [SCSI] ipr: add definitions for additional adapter
    ...

    Linus Torvalds
     

02 Nov, 2011

1 commit


01 Nov, 2011

1 commit


31 Oct, 2011

1 commit

  • PCI Express devices will return "XPRS" host bus type during BIOS EDD
    call. "XPRS" should be treated just like "PCI" so that the proper
    pci_dev symlink will be created. Scripts such as fcoe_edd.sh will
    then work correctly.

    Signed-off-by: Michael Chan
    Reviewed-by: Matt Domsch
    Signed-off-by: Yi Zou
    Signed-off-by: James Bottomley

    Michael Chan
     

13 Oct, 2011

1 commit


17 Aug, 2011

1 commit

  • pstore was using mutex locking to protect read/write access to the
    backend plug-ins. This causes problems when pstore is executed in
    an NMI context through panic() -> kmsg_dump().

    This patch changes the mutex to a spin_lock_irqsave then also checks to
    see if we are in an NMI context. If we are in an NMI and can't get the
    lock, just print a message stating that and blow by the locking.

    All this is probably a hack around the bigger locking problem but it
    solves my current situation of trying to sleep in an NMI context.

    Tested by loading the lkdtm module and executing a HARDLOCKUP which
    will cause the machine to panic inside the nmi handler.

    Signed-off-by: Don Zickus
    Acked-by: Matthew Garrett
    Signed-off-by: Tony Luck

    Don Zickus
     

09 Aug, 2011

1 commit

  • Modify function parameter type to match expected type. Fixes a
    build warning:

    drivers/firmware/google/gsmi.c:473: warning: initialization from incompatible pointer type

    Signed-off-by: Randy Dunlap
    Cc: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

03 Aug, 2011

2 commits


02 Aug, 2011

1 commit

  • * 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    efivars: Introduce PSTORE_EFI_ATTRIBUTES
    efivars: Use string functions in pstore_write
    efivars: introduce utf16_strncmp
    efivars: String functions
    efi: Add support for using efivars as a pstore backend
    pstore: Allow the user to explicitly choose a backend
    pstore: Make "part" unsigned
    pstore: Add extra context for writes and erases
    pstore: Extend API for more flexibility in new backends

    Linus Torvalds
     

26 Jul, 2011

2 commits

  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    updated Documentation/ja_JP/SubmittingPatches
    debugfs: add documentation for debugfs_create_x64
    uio: uio_pdrv_genirq: Add OF support
    firmware: gsmi: remove sysfs entries when unload the module
    Documentation/zh_CN: Fix messy code file email-clients.txt
    driver core: add more help description for "path to uevent helper"
    driver-core: modify FIRMWARE_IN_KERNEL help message
    driver-core: Kconfig grammar corrections in firmware configuration
    DOCUMENTATION: Replace create_device() with device_create().
    DOCUMENTATION: Update overview.txt in Doc/driver-model.
    pti: pti_tty_install documentation mispelling.

    Linus Torvalds
     
  • Fix module tainting message:

    sigma: module license 'unspecified' taints kernel.

    Signed-off-by: Randy Dunlap
    Acked-by: Mike Frysinger
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

23 Jul, 2011

5 commits

  • Consolidate the attributes listed for pstore operations in one place,
    PSTORE_EFI_ATTRIBUTES.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Instead of open-coding the string operations for comparing the prefix of
    the variable names, use the provided utf16_* string functions.

    This patch also changes the calls to efi.set_variable to
    efivars->ops->set_variable so that the right function gets called in the
    case of gsmi (which doesn't have a valid efi structure).

    As well, make sure that we only consider variables with the right vendor
    string.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Introduce utf16_strncmp which is used in the next patch. Semantics
    should be the same as the strncmp C function.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Fix the string functions in the efivars driver to be called utf16_*
    instead of utf8_* as the encoding is utf16, not utf8.

    As well, rename utf16_strlen to utf16_strnlen as it takes a maxlength
    argument and the name should be consistent with the standard C function
    names. utf16_strlen is still provided for convenience in a subsequent
    patch.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • EFI provides an area of nonvolatile storage managed by the firmware. We
    can use this as a pstore backend to maintain copies of oopses, aiding
    diagnosis.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Tony Luck

    Matthew Garrett
     

02 Jul, 2011

1 commit


30 Jun, 2011

1 commit

  • be2iscsi passes the boot functions its phba object which is
    allocated in the shost, but iscsi_ibft passes in a object
    allocated for each item to display. The problem is that
    iscsi_boot_sysfs was managing the lifetime of the object
    passed in and doing a kfree on release. This causes a double
    free for be2iscsi which frees the shost in its pci_remove.

    This patch fixes the problem by adding a release callback
    which the drivers can call kfree or a put() type of function
    (needed for be2iscsi which will do a get/put on the shost).

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

29 Jun, 2011

1 commit

  • …t/gregkh/driver-core-2.6

    * 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    Connector: Correctly set the error code in case of success when dispatching receive callbacks
    Connector: Set the CN_NETLINK_USERS correctly
    pti: PTI semantics fix in pti_tty_cleanup.
    pti: ENXIO error case memory leak PTI fix.
    pti: double-free security PTI fix
    drivers:misc: ti-st: fix skipping of change remote baud
    drivers/base/platform.c: don't mark platform_device_register_resndata() as __init_or_module
    st_kim: Handle case of no device found for ID 0
    firmware: fix GOOGLE_SMI kconfig dependency warning

    Linus Torvalds
     

09 Jun, 2011

1 commit

  • int i is only needed if CONFIG_ACPI is set
    so move it within a new ifdef so kernels without ACPI
    don't allocate space for nothing. Fixes warning too.

    Signed-off-by: Connor Hansen
    Signed-off-by: Peter Jones
    [v2: Fixed warning when CONFIG_ACPI was defined]
    Signed-off-by: Konrad Rzeszutek Wilk

    Connor Hansen
     

08 Jun, 2011

1 commit

  • Is it meaningful/useful to enable EFI_VARS but not EFI?
    That's what GOOGLE_SMI does. Make it enable EFI also.

    Fixes this kconfig dependency warning:

    warning: (GOOGLE_SMI) selects EFI_VARS which has unmet direct dependencies (EFI)

    Signed-off-by: Randy Dunlap
    Acked-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

24 May, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     

20 May, 2011

3 commits

  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)
    debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
    sysfs: remove "last sysfs file:" line from the oops messages
    drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION"
    memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION
    SYSFS: Fix erroneous comments for sysfs_update_group().
    driver core: remove the driver-model structures from the documentation
    driver core: Add the device driver-model structures to kerneldoc
    Translated Documentation/email-clients.txt
    RAW driver: Remove call to kobject_put().
    reboot: disable usermodehelper to prevent fs access
    efivars: prevent oops on unload when efi is not enabled
    Allow setting of number of raw devices as a module parameter
    Introduce CONFIG_GOOGLE_FIRMWARE
    driver: Google Memory Console
    driver: Google EFI SMI
    x86: Better comments for get_bios_ebda()
    x86: get_bios_ebda_length()
    misc: fix ti-st build issues
    params.c: Use new strtobool function to process boolean inputs
    debugfs: move to new strtobool
    ...

    Fix up trivial conflicts in fs/debugfs/file.c due to the same patch
    being applied twice, and an unrelated cleanup nearby.

    Linus Torvalds
     
  • …nel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Reorder reboot method preferences

    * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, setup: Fix EDD3.0 data verification.

    Linus Torvalds
     
  • * 'stable/broadcom.ibft' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
    iscsi_ibft: search for broadcom specific ibft sign (v2)

    Linus Torvalds
     

10 May, 2011

1 commit


07 May, 2011

1 commit

  • efivars_exit() should check for efi_enabled and not undo
    allocations when efi is not enabled. Otherwise there is an Oops
    during module unload:

    calling efivars_init+0x0/0x1000 [efivars] @ 2810
    EFI Variables Facility v0.08 2004-May-17
    initcall efivars_init+0x0/0x1000 [efivars] returned 0 after 5120 usecs
    Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    last sysfs file: /sys/module/firmware_class/initstate
    CPU 1
    Modules linked in: efivars(-) af_packet tun nfsd lockd nfs_acl auth_rpcgss sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath scsi_dh dm_mod snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep mousedev snd_seq joydev snd_seq_device mac_hid evdev snd_pcm usbkbd usbmouse usbhid snd_timer hid tg3 snd sr_mod pcspkr rtc_cmos soundcore cdrom iTCO_wdt processor sg dcdbas i2c_i801 rtc_core iTCO_vendor_support intel_agp snd_page_alloc thermal_sys rtc_lib intel_gtt 8250_pnp button hwmon unix ide_pci_generic ide_core ata_generic pata_acpi ata_piix sd_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ssb mmc_core pcmcia pcmcia_core firmware_class ehci_hcd usbcore [last unloaded: dell_rbu]

    Pid: 2812, comm: rmmod Not tainted 2.6.39-rc6 #1 Dell Inc. OptiPlex 745 /0TY565
    RIP: 0010:[] [] unregister_efivars+0x28/0x12c [efivars]
    RSP: 0018:ffff88005eedde98 EFLAGS: 00010283
    RAX: ffffffffa06a23fc RBX: ffffffffa06a44c0 RCX: ffff88007c227a50
    RDX: 0000000000000000 RSI: 00000055ac13db78 RDI: ffffffffa06a44c0
    RBP: ffff88005eeddec8 R08: 0000000000000000 R09: ffff88005eeddd78
    R10: ffffffffa06a4220 R11: ffff88005eeddd78 R12: fffffffffffff7d0
    R13: 00007fff5a3aaec0 R14: 0000000000000000 R15: ffffffffa06a4508
    FS: 00007fa8dcc4a6f0(0000) GS:ffff88007c200000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000000 CR3: 000000005d148000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process rmmod (pid: 2812, threadinfo ffff88005eedc000, task ffff88006754b000)
    Stack:
    ffff88005eeddec8 ffffffffa06a4220 0000000000000000 00007fff5a3aaec0
    0000000000000000 0000000000000001 ffff88005eedded8 ffffffffa06a2418
    ffff88005eeddf78 ffffffff810d3598 ffffffffa06a4220 0000000000000880
    Call Trace:
    [] efivars_exit+0x1c/0xc04 [efivars]
    [] sys_delete_module+0x2d6/0x368
    [] ? lockdep_sys_exit_thunk+0x35/0x67
    [] ? audit_syscall_entry+0x172/0x1a5
    [] system_call_fastpath+0x16/0x1b
    Code: 5c c9 c3 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 ec 08 0f 1f 44 00 00 4c 8b 67 48 48 89 fb 4c 8d 7f 48 49 81 ec 30 08 00 00 8b ac 24 30 08 00 00 49 81 ed 30 08 00 00 eb 59 48 89 df 48
    RIP [] unregister_efivars+0x28/0x12c [efivars]
    RSP
    CR2: 0000000000000000
    ---[ end trace aa99b99090f70baa ]---

    Matt apparently removed such a check in 2004 (with no reason given):
    * 17 May 2004 - Matt Domsch
    * remove check for efi_enabled in exit
    but there have been several changes since then.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Mike Waychison
    Tested-by: Randy Dunlap
    Cc: Matt Domsch
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap