09 Jan, 2012

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds
     

07 Jan, 2012

1 commit

  • …git-cur/linux-2.6-arm

    * 'amba-modalias' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    sound: aaci: Enable module alias autogeneration for AMBA drivers
    watchdog: sp805: Enable module alias autogeneration for AMBA drivers
    fbdev: amba: Enable module alias autogeneration for AMBA drivers
    serial: pl011: Enable module alias autogeneration for AMBA drivers
    serial: pl010: Enable module alias autogeneration for AMBA drivers
    spi: pl022: Enable module alias autogeneration for AMBA drivers
    rtc: pl031: Enable module alias autogeneration for AMBA drivers
    rtc: pl030: Enable module alias autogeneration for AMBA drivers
    mmc: mmci: Enable module alias autogeneration for AMBA drivers
    input: ambakmi: Enable module alias autogeneration for AMBA drivers
    gpio: pl061: Enable module alias autogeneration for AMBA drivers
    dmaengine: pl330: Enable module alias autogeneration for AMBA drivers
    dmaengine: pl08x: Enable module alias autogeneration for AMBA drivers
    hwrng: nomadik: Enable module alias autogeneration for AMBA drivers
    ARM: amba: Auto-generate AMBA driver module aliases during modpost
    ARM: amba: Move definition of struct amba_id to mod_devicetable.h

    Linus Torvalds
     

04 Jan, 2012

1 commit


30 Dec, 2011

1 commit

  • We still don't use rdrand in /dev/random, which just seems stupid. We
    accept the *cycle*counter* as a random input, but we don't accept
    rdrand? That's just broken.

    Sure, people can do things in user space (write to /dev/random, use
    rdrand in addition to /dev/random themselves etc etc), but that
    *still* seems to be a particularly stupid reason for saying "we
    shouldn't bother to try to do better in /dev/random".

    And even if somebody really doesn't trust rdrand as a source of random
    bytes, it seems singularly stupid to trust the cycle counter *more*.

    So I'd suggest the attached patch. I'm not going to even bother
    arguing that we should add more bits to the entropy estimate, because
    that's not the point - I don't care if /dev/random fills up slowly or
    not, I think it's just stupid to not use the bits we can get from
    rdrand and mix them into the strong randomness pool.

    Link: http://lkml.kernel.org/r/CA%2B55aFwn59N1=m651QAyTy-1gO1noGbK18zwKDwvwqnravA84A@mail.gmail.com
    Acked-by: "David S. Miller"
    Acked-by: "Theodore Ts'o"
    Acked-by: Herbert Xu
    Cc: Matt Mackall
    Cc: Tony Luck
    Cc: Eric Dumazet
    Signed-off-by: H. Peter Anvin

    Linus Torvalds
     

21 Dec, 2011

1 commit

  • If the BMC gets reset, it will return 0x80 response errors.

    In less than a week
    # grep "Error 80 on cmd 22" /var/log/kernel |wc -l
    378681

    In this case, it is probably a good idea to restore the IPMI settings.

    Signed-off-by: Corey Minyard
    Tested-by: Arkadiusz Miśkiewicz
    Reported-by: Arkadiusz Miśkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

02 Dec, 2011

1 commit


22 Nov, 2011

1 commit


17 Nov, 2011

1 commit

  • If there is an architecture-specific random number generator we use it
    to acquire randomness one "long" at a time. We should put these random
    words into consecutive words in the result buffer - not just overwrite
    the first word again and again.

    Signed-off-by: Tony Luck
    Acked-by: H. Peter Anvin
    Acked-by: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    Luck, Tony
     

08 Nov, 2011

2 commits


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
     

03 Nov, 2011

3 commits

  • * 'misc-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    MAINTAINERS: Update entry for IA64
    [IA64] gpio: GENERIC_GPIO default must be n
    [IA64[ add CONFIG_NET_VENDOR_INTEL=y to default config files where needed
    [IA64] agp/hp-agp: Allow binding user memory to the AGP GART
    [IA64] sn2: add missing put_cpu()

    Linus Torvalds
     
  • * git://github.com/rustyrussell/linux:
    virtio-blk: use ida to allocate disk index
    virtio: Add platform bus driver for memory mapped virtio device
    virtio: Dont add "config" to list for !per_vq_vector
    virtio: console: wait for first console port for early console output
    virtio: console: add port stats for bytes received, sent and discarded
    virtio: console: make discard_port_data() use get_inbuf()
    virtio: console: rename variable
    virtio: console: make get_inbuf() return port->inbuf if present
    virtio: console: Fix return type for get_inbuf()
    virtio: console: Use wait_event_freezable instead of _interruptible
    virtio: console: Ignore port name update request if name already set
    virtio: console: Fix indentation
    virtio: modify vring_init and vring_size to take account of the layout containing *_event_idx
    virtio.h: correct comment for struct virtio_driver
    virtio-net: Use virtio_config_val() for retrieving config
    virtio_config: Add virtio_config_val_len()
    virtio-console: Use virtio_config_val() for retrieving config

    Linus Torvalds
     
  • * 'for-linus' of git://github.com/richardweinberger/linux: (90 commits)
    um: fix ubd cow size
    um: Fix kmalloc argument order in um/vdso/vma.c
    um: switch to use of drivers/Kconfig
    UserModeLinux-HOWTO.txt: fix a typo
    UserModeLinux-HOWTO.txt: remove ^H characters
    um: we need sys/user.h only on i386
    um: merge delay_{32,64}.c
    um: distribute exports to where exported stuff is defined
    um: kill system-um.h
    um: generic ftrace.h will do...
    um: segment.h is x86-only and needed only there
    um: asm/pda.h is not needed anymore
    um: hw_irq.h can go generic as well
    um: switch to generic-y
    um: clean Kconfig up a bit
    um: a couple of missing dependencies...
    um: kill useless argument of free_chan() and free_one_chan()
    um: unify ptrace_user.h
    um: unify KSTK_...
    um: fix gcov build breakage
    ...

    Linus Torvalds
     

02 Nov, 2011

13 commits

  • Signed-off-by: Al Viro
    Signed-off-by: Richard Weinberger

    Al Viro
     
  • * kill duplicates with drivers/char/Kconfig
    * take watchdog one into drivers/watchdog/Kconfig
    * take mmapper to arch/um/Kconfig.um
    * rename Kconfig.char menu to "UML Character Devices"

    Signed-off-by: Al Viro
    Signed-off-by: Richard Weinberger

    Al Viro
     
  • * 'next/driver' of git://git.linaro.org/people/arnd/arm-soc:
    hw_random: add driver for atmel true hardware random number generator
    ARM: at91: at91sam9g45: add trng clock and platform device
    MX53 Enable the AHCI SATA on MX53 SMD board
    MX53 Enable the AHCI SATA on MX53 LOCO board
    MX53 Enable the AHCI SATA on MX53 ARD board
    AHCI Add the AHCI SATA feature on the MX53 platforms
    Fix pata imx resource
    ARM: imx: Define functions for registering PATA
    ARM: imx: Add PATA clock support
    ARM: imx: Add PATA resources for other i.MX processors
    imx: efika: Enable pata.
    imx51: add pata clock
    imx51: add pata device

    Fix up trivial conflict (new selects next to each other from separate
    branches for EFIKA_COMMON) in arch/arm/mach-mx5/Kconfig

    Linus Torvalds
     
  • On s390 I have seen some random

    "Warning: unable to open an initial console"

    boot failure. Turns out that tty_open fails, because the
    hvc_alloc was not yet done. In former times this could not happen,
    since the probe function automatically called hvc_alloc. With newer
    versions (multiport) some hostguest interaction is required
    before hvc_alloc is called. This might be too late, especially if
    an initramfs is involved. Lets use a completion if we have
    multiport and an early console.

    [Amit:
    * Use NULL instead of 0 for pointer comparison
    * Rename 'port_added' to 'early_console_added'
    * Re-format, re-word commit message
    * Rebase patch on top of current queue]

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Amit Shah
    Acked-by: Chrstian Borntraeger
    Signed-off-by: Rusty Russell

    Christian Borntraeger
     
  • This commit adds port-specific stats for the number of bytes received,
    sent and discarded. They're exposed via the debugfs interface. This
    data can be used to check for data loss bugs (or disprove such claims).
    It can also be used for accounting, if there's such a need.

    The stats remain valid throughout the lifetime of the port. Unplugging
    a port will reset the stats. The numbers are not reset across port
    opens/closes.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • discard_port_data() used virtqueue_get_buf() directly instead of using
    get_inbuf(). Fix this, so that we get accounting for all received
    bytes. This also simplifies the code a lot.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • 'ret' is a misnomer in discard_port_data() since we don't return the
    value. Rename it to 'err'.
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • Instead of pulling in a buffer from the vq each time it's called,
    get_inbuf() now checks if the current active buffer, in port->inbuf is
    valid. If it is, just returns a pointer to it. This ends up
    simplifying a lot of code calling get_inbuf() since the check for
    port->inbuf being valid was done by all the callers.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • get_inbuf() returns void *. There's no reason to return void pointers
    instead of the correct struct port_buffer *.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • Get ready to support suspend/resume by using the freezable calls so that
    blocking read/write syscalls are handled properly across suspend/resume.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • We don't allow port name changes dynamically for a port. So any
    requests by the host to change the name are ignored.

    Before this patch, if the hypervisor sent a port name while we had one
    set already, we would leak memory equivalent to the size of the old
    name.

    This scenario wasn't expected so far, but with the suspend-resume
    support, we'll send the VIRTIO_CONSOLE_PORT_READY message after restore,
    which can get us into this situation.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • Convert spaces to tabs and fix indentation for an if statement split
    into multiple lines.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • This patch modifies virtio-console to use virtio_config_val() instead
    of a 'if(virtio_has_feature()) vdev->config->get()' construct to retrieve
    optional values from the config space.

    Cc: Amit Shah
    Cc: "Michael S. Tsirkin"
    Cc: Rusty Russell
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Sasha Levin
    Signed-off-by: Rusty Russell

    Sasha Levin
     

01 Nov, 2011

3 commits


28 Oct, 2011

2 commits

  • * 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (290 commits)
    Revert "drm/ttm: add a way to bo_wait for either the last read or last write"
    Revert "drm/radeon/kms: add a new gem_wait ioctl with read/write flags"
    vmwgfx: Don't pass unused arguments to do_dirty functions
    vmwgfx: Emulate depth 32 framebuffers
    drm/radeon: Lower the severity of the radeon lockup messages.
    drm/i915/dp: Fix eDP on PCH DP on CPT/PPT
    drm/i915/dp: Introduce is_cpu_edp()
    drm/i915: use correct SPD type value
    drm/i915: fix ILK+ infoframe support
    drm/i915: add DP test request handling
    drm/i915: read full receiver capability field during DP hot plug
    drm/i915/dp: Remove eDP special cases from bandwidth checks
    drm/i915/dp: Fix the math in intel_dp_link_required
    drm/i915/panel: Always record the backlight level again (but cleverly)
    i915: Move i915_read/write out of line
    drm/i915: remove transcoder PLL mashing from mode_set per specs
    drm/i915: if transcoder disable fails, say which
    drm/i915: set watermarks for third pipe on IVB
    drm/i915: export a CPT mode set verification function
    drm/i915: fix transcoder PLL select masking
    ...

    Linus Torvalds
     
  • * 'x86-rdrand-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, random: Verify RDRAND functionality and allow it to be disabled
    x86, random: Architectural inlines to get random integers with RDRAND
    random: Add support for architectural random hooks

    Fix up trivial conflicts in drivers/char/random.c: the architectural
    random hooks touched "get_random_int()" that was simplified to use MD5
    and not do the keyptr thing any more (see commit 6e5714eaf77d: "net:
    Compute protocol sequence numbers and fragment IDs using MD5").

    Linus Torvalds
     

26 Oct, 2011

3 commits

  • * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (121 commits)
    perf symbols: Increase symbol KSYM_NAME_LEN size
    perf hists browser: Refuse 'a' hotkey on non symbolic views
    perf ui browser: Use libslang to read keys
    perf tools: Fix tracing info recording
    perf hists browser: Elide DSO column when it is set to just one DSO, ditto for threads
    perf hists: Don't consider filtered entries when calculating column widths
    perf hists: Don't decay total_period for filtered entries
    perf hists browser: Honour symbol_conf.show_{nr_samples,total_period}
    perf hists browser: Do not exit on tab key with single event
    perf annotate browser: Don't change selection line when returning from callq
    perf tools: handle endianness of feature bitmap
    perf tools: Add prelink suggestion to dso update message
    perf script: Fix unknown feature comment
    perf hists browser: Apply the dso and thread filters when merging new batches
    perf hists: Move the dso and thread filters from hist_browser
    perf ui browser: Honour the xterm colors
    perf top tui: Give color hints just on the percentage, like on --stdio
    perf ui browser: Make the colors configurable and change the defaults
    perf tui: Remove unneeded call to newtCls on startup
    perf hists: Don't format the percentage on hist_entry__snprintf
    ...

    Fix up conflicts in arch/x86/kernel/kprobes.c manually.

    Ingo's tree did the insane "add volatile to const array", which just
    doesn't make sense ("volatile const"?). But we could remove the const
    *and* make the array volatile to make doubly sure that gcc doesn't
    optimize it away..

    Also fix up kernel/trace/ring_buffer.c non-data-conflicts manually: the
    reader_lock has been turned into a raw lock by the core locking merge,
    and there was a new user of it introduced in this perf core merge. Make
    sure that new use also uses the raw accessor functions.

    Linus Torvalds
     
  • * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, ioapic: Consolidate the explicit EOI code
    x86, ioapic: Restore the mask bit correctly in eoi_ioapic_irq()
    x86, kdump, ioapic: Reset remote-IRR in clear_IO_APIC
    iommu: Rename the DMAR and INTR_REMAP config options
    x86, ioapic: Define irq_remap_modify_chip_defaults()
    x86, msi, intr-remap: Use the ioapic set affinity routine
    iommu: Cleanup ifdefs in detect_intel_iommu()
    iommu: No need to set dmar_disabled in check_zero_address()
    iommu: Move IOMMU specific code to intel-iommu.c
    intr_remap: Call dmar_dev_scope_init() explicitly
    x86, x2apic: Enable the bios request for x2apic optout

    Linus Torvalds
     
  • * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1519 commits)
    staging: et131x: Remove redundant check and return statement
    staging: et131x: Mainly whitespace changes to appease checkpatch
    staging: et131x: Remove last of the forward declarations
    staging: et131x: Remove even more forward declarations
    staging: et131x: Remove yet more forward declarations
    staging: et131x: Remove more forward declarations
    staging: et131x: Remove forward declaration of et131x_adapter_setup
    staging: et131x: Remove some forward declarations
    staging: et131x: Remove unused rx_ring.recv_packet_pool
    staging: et131x: Remove call to find pci pm capability
    staging: et131x: Remove redundant et131x_reset_recv() call
    staging: et131x: Remove unused rx_ring.recv_buffer_pool
    Staging: bcm: Fix three initialization errors in InterfaceDld.c
    Staging: bcm: Fix coding style issues in InterfaceDld.c
    staging:iio:dac: Add AD5360 driver
    staging:iio:trigger:bfin-timer: Fix compile error
    Staging: vt6655: add some range checks before memcpy()
    Staging: vt6655: whitespace fixes to iotcl.c
    Staging: vt6656: add some range checks before memcpy()
    Staging: vt6656: whitespace cleanups in ioctl.c
    ...

    Fix up conflicts in:
    - drivers/{Kconfig,Makefile}, drivers/staging/{Kconfig,Makefile}:
    vg driver movement
    - drivers/staging/brcm80211/brcmfmac/{dhd_linux.c,mac80211_if.c}:
    driver removal vs now stale changes
    - drivers/staging/rtl8192e/r8192E_core.c:
    driver removal vs now stale changes
    - drivers/staging/et131x/et131*:
    driver consolidation into one file, tried to do fixups

    Linus Torvalds
     

25 Oct, 2011

4 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
    MAINTAINERS: linux-m32r is moderated for non-subscribers
    linux@lists.openrisc.net is moderated for non-subscribers
    Drop default from "DM365 codec select" choice
    parisc: Kconfig: cleanup Kernel page size default
    Kconfig: remove redundant CONFIG_ prefix on two symbols
    cris: remove arch/cris/arch-v32/lib/nand_init.S
    microblaze: add missing CONFIG_ prefixes
    h8300: drop puzzling Kconfig dependencies
    MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
    tty: drop superfluous dependency in Kconfig
    ARM: mxc: fix Kconfig typo 'i.MX51'
    Fix file references in Kconfig files
    aic7xxx: fix Kconfig references to READMEs
    Fix file references in drivers/ide/
    thinkpad_acpi: Fix printk typo 'bluestooth'
    bcmring: drop commented out line in Kconfig
    btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
    doc: raw1394: Trivial typo fix
    CIFS: Don't free volume_info->UNC until we are entirely done with it.
    treewide: Correct spelling of successfully in comments
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
    apm-emulation: use wait_event_freezable() instead of freezer_[do_not_]count()

    Linus Torvalds
     
  • * 'next' of git://selinuxproject.org/~jmorris/linux-security: (95 commits)
    TOMOYO: Fix incomplete read after seek.
    Smack: allow to access /smack/access as normal user
    TOMOYO: Fix unused kernel config option.
    Smack: fix: invalid length set for the result of /smack/access
    Smack: compilation fix
    Smack: fix for /smack/access output, use string instead of byte
    Smack: domain transition protections (v3)
    Smack: Provide information for UDS getsockopt(SO_PEERCRED)
    Smack: Clean up comments
    Smack: Repair processing of fcntl
    Smack: Rule list lookup performance
    Smack: check permissions from user space (v2)
    TOMOYO: Fix quota and garbage collector.
    TOMOYO: Remove redundant tasklist_lock.
    TOMOYO: Fix domain transition failure warning.
    TOMOYO: Remove tomoyo_policy_memory_lock spinlock.
    TOMOYO: Simplify garbage collector.
    TOMOYO: Fix make namespacecheck warnings.
    target: check hex2bin result
    encrypted-keys: check hex2bin result
    ...

    Linus Torvalds
     
  • This was done to resolve a conflict in the
    drivers/staging/comedi/drivers/ni_labpc.c file that resolved a build
    bugfix in Linus's tree with a "better" bugfix that was in the
    staging-next tree that resolved the issue in a more complete manner.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman