17 Aug, 2012

1 commit


14 Aug, 2012

1 commit

  • Pull drm fixes from Dave Airlie:
    "Radeon and intel fixes mostly, one fix to the mgag200 driver to not
    hang on certain server variants."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (32 commits)
    drm/radeon: fix typo in function header comment
    drm/radeon/kms: implement timestamp userspace query (v2)
    drm/radeon/kms: add MSAA texture support for r600-evergreen
    drm/radeon/kms: reorder code in r600_check_texture_resource
    drm/radeon: fence virtual address and free it once idle v4
    drm/radeon: fix some missing parens in asic macros
    drm/radeon: add some new SI pci ids
    drm/radeon: fix ordering in pll picking on dce4+
    drm/radeon: do not reenable crtc after moving vram start address
    drm/radeon: fix bank tiling parameters on cayman
    drm/radeon: fix bank tiling parameters on evergreen
    drm/radeon: fix bank tiling parameters on SI
    drm/radeon: properly handle crtc powergating
    drm/radeon: properly handle SS overrides on TN (v2)
    drm/radeon/dce4+: set a more reasonable cursor watermark
    drm/radeon: fix handling for ddc type 5 on combios
    drm/mgag200: fix G200ER pll picking algorithm
    drm/edid: Fix potential memory leak in edid_load()
    drm/udl: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(.. [1]
    drm/radeon/kms: allow "invalid" DB formats as a means to disable DB
    ...

    Linus Torvalds
     

13 Aug, 2012

1 commit

  • Pull power management fixes from Rafael J. Wysocki:

    - Fix for two recent regressions in the generic PM domains framework.

    - Revert of a commit that introduced a resume regression and is
    conceptually incorrect in my opinion.

    - Fix for a return value in pcc-cpufreq.c from Julia Lawall.

    - RTC wakeup signaling fix from Neil Brown.

    - Suppression of compiler warnings for CONFIG_PM_SLEEP unset in ACPI,
    platform/x86 and TPM drivers.

    * tag 'pm-for-3.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    tpm_tis / PM: Fix unused function warning for CONFIG_PM_SLEEP
    platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP
    ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP
    Revert "NMI watchdog: fix for lockup detector breakage on resume"
    PM: Make dev_pm_get_subsys_data() always return 0 on success
    drivers/cpufreq/pcc-cpufreq.c: fix error return code
    RTC: Avoid races between RTC alarm wakeup and suspend.

    Linus Torvalds
     

10 Aug, 2012

2 commits

  • According to a compiler warning, the tpm_tis_resume() function is not
    used for CONFIG_PM_SLEEP unset, so add a #ifdef to prevent it from
    being built in that case.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • omap_rng_suspend and omap_rng_resume are unused if CONFIG_PM is enabled
    but CONFIG_PM_SLEEP is disabled. I found this while building all defconfig
    files on ARM. It's not clear to me if this is the right solution, but
    at least it makes the code consistent again.

    Without this patch, building omap1_defconfig results in:

    drivers/char/hw_random/omap-rng.c:165:12: warning: 'omap_rng_suspend' defined but not used [-Wunused-function]
    drivers/char/hw_random/omap-rng.c:171:12: warning: 'omap_rng_resume' defined but not used [-Wunused-function]

    Signed-off-by: Arnd Bergmann
    Acked-by: Kevin Hilman
    Cc: Rafael J. Wysocki
    Cc: Herbert Xu

    Arnd Bergmann
     

09 Aug, 2012

1 commit

  • Daniel writes:

    "- Regression fixer for an OOPS at boot when i915.ko is built-in and
    CONFIG_PM=n, introduce in 3.5 (patch from Hunt Xu)
    - Regression fixer for occlusion query failures, the required w/a wasn't
    applied in all cases (thanks to Eric for tracking this on down).
    - dmar vs. dma_buf imprt fix (Dave Airlie)
    - 2 patches to fight down forcewake issues on snb. This is the stuff I've
    talked about 2 weeks ago already, it's a minefield. Investigation still
    going on, but afaict this is the best we have for now.
    - a few minor things to keep coverty&compiler happy (Alan, Davendra,
    Stéphane)
    - tons of hsw pci ids - this one is a bit late because internal approval
    sometimes takes a while, but ppl in charge finally agreed that world+dog
    already knows about ult and crw haswell variants ;-)

    Wrt regressions I'm aware of:
    - the power regression due to semaphores=1. Ben is running around with a
    killawatt, unfortunately we have a hard time reproducing this one. And
    this /shouldn't/ increase power usage. Ben has turned up a few odds bits
    though already.
    - the lvds fix in 3.6-rc1 broke a backlight after lid close/open (but can
    be resurrected with a modeset cycle). I guess we anger the bios - I'm
    still looking into this one.
    - gmbus broke edid reading on an odd-ball monitor, we need to fall-back.
    Due to vacation (both mine&the reporter's) this is stalling for a final
    patch and a tested-by on it. But issue is fully diagnosed."

    * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: correctly order the ring init sequence
    drm/i915: add more Haswell PCI IDs
    drm/i915: make rc6 in sysfs functions conditional
    drm/i915: Workaround hang with BSD and forcewake on SandyBridge
    drm/i915: Make intel_panel_get_backlight static.
    i915: don't map imported dma-bufs for dmar.
    drm/i915: remove unused variable
    drm/i915: Don't forget to apply SNB PIPE_CONTROL GTT workaround.
    drm/i915: fix forcewake related hangs on snb
    i915: Remove silly test
    i915: fix error path leak in intel_sdvo_write_cmd
    vlv: it might be wise if we initialised the flag value...

    Dave Airlie
     

07 Aug, 2012

1 commit


01 Aug, 2012

1 commit

  • Pull random subsystem patches from Ted Ts'o:
    "This patch series contains a major revamp of how we collect entropy
    from interrupts for /dev/random and /dev/urandom.

    The goal is to addresses weaknesses discussed in the paper "Mining
    your Ps and Qs: Detection of Widespread Weak Keys in Network Devices",
    by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J. Alex Halderman,
    which will be published in the Proceedings of the 21st Usenix Security
    Symposium, August 2012. (See https://factorable.net for more
    information and an extended version of the paper.)"

    Fix up trivial conflicts due to nearby changes in
    drivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)
    random: mix in architectural randomness in extract_buf()
    dmi: Feed DMI table to /dev/random driver
    random: Add comment to random_initialize()
    random: final removal of IRQF_SAMPLE_RANDOM
    um: remove IRQF_SAMPLE_RANDOM which is now a no-op
    sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op
    board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op
    isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out
    uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op
    drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op
    xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op
    n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op
    i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op
    input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op
    mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op
    ...

    Linus Torvalds
     

31 Jul, 2012

3 commits

  • …sty/linux-2.6-for-linus

    Pull virtio update from Rusty Russell:
    "Virtio patches, mainly hotplugging fixes."

    * tag 'virtio-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    virtio-blk: return VIRTIO_BLK_F_FLUSH to header.
    virtio-blk: allow toggling host cache between writeback and writethrough
    virtio-blk: Use block layer provided spinlock
    virtio-blk: Reset device after blk_cleanup_queue()
    virtio-blk: Call del_gendisk() before disable guest kick
    virtio: rng: s3/s4 support
    virtio: rng: split out common code in probe / remove for s3/s4 ops
    virtio: rng: don't wait on host when module is going away
    virtio: rng: allow tasks to be killed that are waiting for rng input
    virtio ids: fix comment for virtio-rng

    Linus Torvalds
     
  • Pull misc ia64 build fixes from Tony Luck.

    * tag 'please-pull-ia64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts
    [IA64] Rename platform_name to ia64_platform_name
    [IA64] Mark PARAVIRT and KVM as broken

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "More hardware support across the field including a bunch of device
    drivers. The highlight however really are further steps towards
    device tree.

    This has been sitting in -next for ages. All MIPS _defconfigs have
    been tested to boot or where I don't have hardware available, to at
    least build fine."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (77 commits)
    MIPS: Loongson 1B: Add defconfig
    MIPS: Loongson 1B: Add board support
    MIPS: Netlogic: early console fix
    MIPS: Netlogic: Fix indentation of smpboot.S
    MIPS: Netlogic: remove cpu_has_dc_aliases define for XLP
    MIPS: Netlogic: Remove unused pcibios_fixups
    MIPS: Netlogic: Add XLP SoC devices in FDT
    MIPS: Netlogic: Add IRQ mappings for more devices
    MIPS: Netlogic: USB support for XLP
    MIPS: Netlogic: XLP PCIe controller support.
    MIPS: Netlogic: Platform changes for XLR/XLS I2C
    MIPS: Netlogic: Platform NAND/NOR flash support
    MIPS: Netlogic: Platform changes for XLS USB
    MIPS: Netlogic: Remove NETLOGIC_ prefix
    MIPS: Netlogic: SMP wakeup code update
    MIPS: Netlogic: Update comments in smpboot.S
    MIPS: BCM63XX: Add 96328avng reference board
    MIPS: Expose PCIe drivers for MIPS
    MIPS: BCM63XX: Add PCIe Support for BCM6328
    MIPS: BCM63XX: Move the PCI initialization into its own function
    ...

    Linus Torvalds
     

30 Jul, 2012

4 commits


28 Jul, 2012

1 commit

  • Mix in any architectural randomness in extract_buf() instead of
    xfer_secondary_buf(). This allows us to mix in more architectural
    randomness, and it also makes xfer_secondary_buf() faster, moving a
    tiny bit of additional CPU overhead to process which is extracting the
    randomness.

    [ Commit description modified by tytso to remove an extended
    advertisement for the RDRAND instruction. ]

    Signed-off-by: H. Peter Anvin
    Acked-by: Ingo Molnar
    Cc: DJ Johnston
    Signed-off-by: Theodore Ts'o
    Cc: stable@vger.kernel.org

    H. Peter Anvin
     

27 Jul, 2012

4 commits

  • Pull drm updates from Dave Airlie:
    "One of the smaller drm -next pulls in ages!

    Ben (nouveau) has a rewrite in progress but we decided to leave it
    stew for another cycle, so just some fixes from him.

    - radeon: lots of documentation work, fixes, more ring and locking
    changes, pcie gen2, more dp fixes.
    - i915: haswell features, gpu reset fixes, /dev/agpgart removal on
    machines that we never used it on, more VGA/HDP fix., more DP fixes
    - drm core: cleanups from Daniel, sis 64-bit fixes, range allocator
    colouring.

    but yeah fairly quiet merge this time, probably because I missed half
    of it!"

    Trivial add-add conflict in include/linux/pci_regs.h

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (255 commits)
    drm/nouveau: init vblank requests list
    drm/nv50: extend vblank semaphore to generic dmaobj + offset pair
    drm/nouveau: mark most of our ioctls as deprecated, move to compat layer
    drm/nouveau: move current gpuobj code out of nouveau_object.c
    drm/nouveau/gem: fix object reference leak in a failure path
    drm/nv50: rename INVALID_QUERY_OR_TEXTURE error to INVALID_OPERATION
    drm/nv84: decode PCRYPT errors
    drm/nouveau: dcb table quirk for fdo#50830
    nouveau: Fix alignment requirements on src and dst addresses
    drm/i915: unbreak lastclose for failed driver init
    drm/i915: Set the context before setting up regs for the context.
    drm/i915: constify mode in crtc_mode_fixup
    drm/i915/lvds: ditch ->prepare special case
    drm/i915: dereferencing an error pointer
    drm/i915: fix invalid reference handling of the default ctx obj
    drm/i915: Add -EIO to the list of known errors for __wait_seqno
    drm/i915: Flush the context object from the CPU caches upon switching
    drm/radeon: fix dpms on/off on trinity/aruba v2
    drm/radeon: on hotplug force link training to happen (v2)
    drm/radeon: fix hotplug of DP to DVI|HDMI passive adapters (v2)
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:

    - Fixed algorithm construction hang when self-test fails.
    - Added SHA variants to talitos AEAD list.
    - New driver for Exynos random number generator.
    - Performance enhancements for arc4.
    - Added hwrng support to caam.
    - Added ahash support to caam.
    - Fixed bad kfree in aesni-intel.
    - Allow aesni-intel in FIPS mode.
    - Added atmel driver with support for AES/3DES/SHA.
    - Bug fixes for mv_cesa.
    - CRC hardware driver for BF60x family processors.

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (66 commits)
    crypto: twofish-avx - remove useless instruction
    crypto: testmgr - add aead cbc aes hmac sha1,256,512 test vectors
    crypto: talitos - add sha224, sha384 and sha512 to existing AEAD algorithms
    crypto: talitos - export the talitos_submit function
    crypto: talitos - move talitos structures to header file
    crypto: atmel - add new tests to tcrypt
    crypto: atmel - add Atmel SHA1/SHA256 driver
    crypto: atmel - add Atmel DES/TDES driver
    crypto: atmel - add Atmel AES driver
    ARM: AT91SAM9G45: add crypto peripherals
    crypto: testmgr - allow aesni-intel and ghash_clmulni-intel in fips mode
    hwrng: exynos - Add support for Exynos random number generator
    crypto: aesni-intel - fix wrong kfree pointer
    crypto: caam - ERA retrieval and printing for SEC device
    crypto: caam - Using alloc_coherent for caam job rings
    crypto: algapi - Fix hang on crypto allocation
    crypto: arc4 - now arc needs blockcipher support
    crypto: caam - one tasklet per job ring
    crypto: caam - consolidate memory barriers from job ring en/dequeue
    crypto: caam - only query h/w in job ring dequeue path
    ...

    Linus Torvalds
     
  • Pull char/misc patches from Greg Kroah-Hartman:
    "Here's the "big" pull request for 3.6-rc1 for the char/misc drivers.

    It's really just a few updates to the mei driver, plus 4 other tiny
    patches, nothing big at all.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'char-misc-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    mei: use module_pci_driver
    powerpc/BSR: cleanup the error path of bsr_init
    mei: mei_irq_thread_write_handler - line break fix
    mei: streamline the _mei_irq_thread_close/ioctol functions
    mei: introduce mei_data2slots wrapper
    mei: mei_wd_host_init: update the comment
    mei: remove write only wariable wd_due_counter
    mei: mei_device can be const for mei register access functions
    mei: revamp host buffer interface function
    mei: don't query HCSR for host buffer depth
    mei: group wd_interface_reg with watchdog variables within struct mei_device
    mei: mei_irq_thread_write_handler check for overflow
    mei: make mei_write_message more readable
    mei: check for error codes that mei_flow_ctrl_creds retuns
    misc: at25: Parse dt settings
    misc: hpilo: increase number of max supported channels
    mei: mei.txt: minor grammar fixes

    Linus Torvalds
     
  • The following build error occured during a ia64 build with
    swap-over-NFS patches applied.

    net/core/sock.c:274:36: error: initializer element is not constant
    net/core/sock.c:274:36: error: (near initialization for 'memalloc_socks')
    net/core/sock.c:274:36: error: initializer element is not constant

    This is identical to a parisc build error. Fengguang Wu, Mel Gorman
    and James Bottomley did all the legwork to track the root cause of
    the problem. This fix and entire commit log is shamelessly copied
    from them with one extra detail to change a dubious runtime use of
    ATOMIC_INIT() to atomic_set() in drivers/char/mspec.c

    Dave Anglin says:
    > Here is the line in sock.i:
    >
    > struct static_key memalloc_socks = ((struct static_key) { .enabled =
    > ((atomic_t) { (0) }) });

    The above line contains two compound literals. It also uses a designated
    initializer to initialize the field enabled. A compound literal is not a
    constant expression.

    The location of the above statement isn't fully clear, but if a compound
    literal occurs outside the body of a function, the initializer list must
    consist of constant expressions.

    Cc:
    Signed-off-by: Tony Luck

    Tony Luck
     

25 Jul, 2012

2 commits

  • Pull watchdog changes from Wim Van Sebroeck:
    - conversion of iTCO_wdt and orion_wdt to the generic watchdog API
    - uses module_platform_driver() for s3c2410_wdt
    - Adds support for Jetway JNF99 Motherboard
    - various fixes

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: orion_wdt: Convert driver to watchdog core
    watchdog: s3c2410_wdt: Use module_platform_driver()
    watchdog: sch311x_wdt: Fix Polarity when starting watchdog
    Watchdog: OMAP: Fix the runtime pm code to avoid module getting stuck intransition state.
    watchdog: ie6xx_wdt: section mismatch in ie6xx_wdt_probe()
    watchdog: bcm63xx_wdt: fix driver section mismatch
    watchdog: iTCO_wdt.c: convert to watchdog core
    char/ipmi: remove local ioctl defines replaced by generic ones
    watchdog: xilinx: Read clock frequency directly from DT node
    watchdog: coh901327_wdt: use clk_prepare/unprepare
    watchdog: f71808e_wdt: Add support for Jetway JNF99 motherboard

    Linus Torvalds
     
  • Many platforms have per-machine instance data (serial numbers,
    asset tags, etc.) squirreled away in areas that are accessed
    during early system bringup. Mixing this data into the random
    pools has a very high value in providing better random data,
    so we should allow (and even encourage) architecture code to
    call add_device_randomness() from the setup_arch() paths.

    However, this limits our options for internal structure of
    the random driver since random_initialize() is not called
    until long after setup_arch().

    Add a big fat comment to rand_initialize() spelling out
    this requirement.

    Suggested-by: Theodore Ts'o
    Signed-off-by: Tony Luck
    Signed-off-by: Theodore Ts'o

    Tony Luck
     

24 Jul, 2012

3 commits

  • Signed-off-by: Florian Fainelli
    Cc: linux-mips@linux-mips.org
    Cc: mpm@selenic.com
    Cc: herbert@gondor.apana.org.au
    Patchwork: https://patchwork.linux-mips.org/patch/3327/
    Patchwork: https://patchwork.linux-mips.org/patch/4072/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Pull powerpc updates from Benjamin Herrenschmidt:
    "Notable highlights:

    - iommu improvements from Anton removing the per-iommu global lock in
    favor of dividing the DMA space into pools, each with its own lock,
    and hashed on the CPU number. Along with making the locking more
    fine grained, this gives significant improvements in multiqueue
    networking scalability.

    - Still from Anton, we know provide a vdso based variant of getcpu
    which makes sched_getcpu with the appropriate glibc patch something
    like 18 times faster.

    - More anton goodness (he's been busy !) in other areas such as a
    faster __clear_user and copy_page on P7, various perf fixes to
    improve sampling quality, etc...

    - One more step toward removing legacy i2c interfaces by using new
    device-tree based probing of platform devices for the AOA audio
    drivers

    - A nice series of patches from Michael Neuling that helps avoiding
    confusion between register numbers and litterals in assembly code,
    trying to enforce the use of "%rN" register names in gas rather
    than plain numbers.

    - A pile of FSL updates

    - The usual bunch of small fixes, cleanups etc...

    You may spot a change to drivers/char/mem. The patch got no comment
    or ack from outside, it's a trivial patch to allow the architecture to
    skip creating /dev/port, which we use to disable it on ppc64 that
    don't have a legacy brige. On those, IO ports 0...64K are not mapped
    in kernel space at all, so accesses to /dev/port cause oopses (and
    yes, distros -still- ship userspace that bangs hard coded ports such
    as kbdrate)."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)
    powerpc/mpic: Create a revmap with enough entries for IPIs and timers
    Remove stale .rej file
    powerpc/iommu: Fix iommu pool initialization
    powerpc/eeh: Check handle_eeh_events() return value
    powerpc/85xx: Add phy nodes in SGMII mode for MPC8536/44/72DS & P2020DS
    powerpc/e500: add paravirt QEMU platform
    powerpc/mpc85xx_ds: convert to unified PCI init
    powerpc/fsl-pci: get PCI init out of board files
    powerpc/85xx: Update corenet64_smp_defconfig
    powerpc/85xx: Update corenet32_smp_defconfig
    powerpc/85xx: Rename P1021RDB-PC device trees to be consistent
    powerpc/watchdog: move booke watchdog param related code to setup-common.c
    sound/aoa: Adapt to new i2c probing scheme
    i2c/powermac: Improve detection of devices from device-tree
    powerpc: Disable /dev/port interface on systems without an ISA bridge
    of: Improve prom_update_property() function
    powerpc: Add "memory" attribute for mfmsr()
    powerpc/ftrace: Fix assembly trampoline register usage
    powerpc/hw_breakpoints: Fix incorrect pointer access
    powerpc: Put the gpr save/restore functions in their own section
    ...

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Nothing groundbreaking for this kernel, just cleanups and fixes, and a
    couple of Smack enhancements."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (21 commits)
    Smack: Maintainer Record
    Smack: don't show empty rules when /smack/load or /smack/load2 is read
    Smack: user access check bounds
    Smack: onlycap limits on CAP_MAC_ADMIN
    Smack: fix smack_new_inode bogosities
    ima: audit is compiled only when enabled
    ima: ima_initialized is set only if successful
    ima: add policy for pseudo fs
    ima: remove unused cleanup functions
    ima: free securityfs violations file
    ima: use full pathnames in measurement list
    security: Fix nommu build.
    samples: seccomp: add .gitignore for untracked executables
    tpm: check the chip reference before using it
    TPM: fix memleak when register hardware fails
    TPM: chip disabled state erronously being reported as error
    MAINTAINERS: TPM maintainers' contacts update
    Merge branches 'next-queue' and 'next' into next
    Remove unused code from MPI library
    Revert "crypto: GnuPG based MPI lib - additional sources (part 4)"
    ...

    Linus Torvalds
     

23 Jul, 2012

1 commit

  • This watchdog driver had ioctl defines introduced locally
    for pre timeout handling, marked to be removed as soon as
    a generic replacement would become available.

    The latter has actually occurred in 2006, at e05b59fe.

    Remove the local duplicates for pre timeout handling.

    Signed-off-by: Oskar Schirmer
    Acked-by: Corey Minyard
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Oskar Schirmer
     

19 Jul, 2012

1 commit

  • With the new interrupt sampling system, we are no longer using the
    timer_rand_state structure in the irq descriptor, so we can stop
    initializing it now.

    [ Merged in fixes from Sedat to find some last missing references to
    rand_initialize_irq() ]

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Sedat Dilek

    Theodore Ts'o
     

18 Jul, 2012

2 commits

  • This lets us pick up the mei driver changes that we need in order to
    handle future merge issues.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • class_create if succeeded returns a pointer to the struct class,
    and if it fails, it returns a value enclosed by the pointer, which
    can be read by using PTR_ERR.

    Handle the error and return it.

    result is for error checking of the alloc_chrdev_region, instead
    ret can be used, and also if the alloc_chrdev_region fail,
    we are still returning -ENODEV, use ret and the error path will
    take care of returning of the ret.

    Signed-off-by: Devendra Naga
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Devendra Naga
     

15 Jul, 2012

6 commits

  • Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     
  • Create a new function, get_random_bytes_arch() which will use the
    architecture-specific hardware random number generator if it is
    present. Change get_random_bytes() to not use the HW RNG, even if it
    is avaiable.

    The reason for this is that the hw random number generator is fast (if
    it is present), but it requires that we trust the hardware
    manufacturer to have not put in a back door. (For example, an
    increasing counter encrypted by an AES key known to the NSA.)

    It's unlikely that Intel (for example) was paid off by the US
    Government to do this, but it's impossible for them to prove otherwise
    --- especially since Bull Mountain is documented to use AES as a
    whitener. Hence, the output of an evil, trojan-horse version of
    RDRAND is statistically indistinguishable from an RDRAND implemented
    to the specifications claimed by Intel. Short of using a tunnelling
    electronic microscope to reverse engineer an Ivy Bridge chip and
    disassembling and analyzing the CPU microcode, there's no way for us
    to tell for sure.

    Since users of get_random_bytes() in the Linux kernel need to be able
    to support hardware systems where the HW RNG is not present, most
    time-sensitive users of this interface have already created their own
    cryptographic RNG interface which uses get_random_bytes() as a seed.
    So it's much better to use the HW RNG to improve the existing random
    number generator, by mixing in any entropy returned by the HW RNG into
    /dev/random's entropy pool, but to always _use_ /dev/random's entropy
    pool.

    This way we get almost of the benefits of the HW RNG without any
    potential liabilities. The only benefits we forgo is the
    speed/performance enhancements --- and generic kernel code can't
    depend on depend on get_random_bytes() having the speed of a HW RNG
    anyway.

    For those places that really want access to the arch-specific HW RNG,
    if it is available, we provide get_random_bytes_arch().

    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Theodore Ts'o
     
  • If the CPU supports a hardware random number generator, use it in
    xfer_secondary_pool(), where it will significantly improve things and
    where we can afford it.

    Also, remove the use of the arch-specific rng in
    add_timer_randomness(), since the call is significantly slower than
    get_cycles(), and we're much better off using it in
    xfer_secondary_pool() anyway.

    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Theodore Ts'o
     
  • Add a new interface, add_device_randomness() for adding data to the
    random pool that is likely to differ between two devices (or possibly
    even per boot). This would be things like MAC addresses or serial
    numbers, or the read-out of the RTC. This does *not* add any actual
    entropy to the pool, but it initializes the pool to different values
    for devices that might otherwise be identical and have very little
    entropy available to them (particularly common in the embedded world).

    [ Modified by tytso to mix in a timestamp, since there may be some
    variability caused by the time needed to detect/configure the hardware
    in question. ]

    Signed-off-by: Linus Torvalds
    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Linus Torvalds
     
  • The real-time Linux folks don't like add_interrupt_randomness() taking
    a spinlock since it is called in the low-level interrupt routine.
    This also allows us to reduce the overhead in the fast path, for the
    random driver, which is the interrupt collection path.

    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Theodore Ts'o
     
  • We've been moving away from add_interrupt_randomness() for various
    reasons: it's too expensive to do on every interrupt, and flooding the
    CPU with interrupts could theoretically cause bogus floods of entropy
    from a somewhat externally controllable source.

    This solves both problems by limiting the actual randomness addition
    to just once a second or after 64 interrupts, whicever comes first.
    During that time, the interrupt cycle data is buffered up in a per-cpu
    pool. Also, we make sure the the nonblocking pool used by urandom is
    initialized before we start feeding the normal input pool. This
    assures that /dev/urandom is returning unpredictable data as soon as
    possible.

    (Based on an original patch by Linus, but significantly modified by
    tytso.)

    Tested-by: Eric Wustrow
    Reported-by: Eric Wustrow
    Reported-by: Nadia Heninger
    Reported-by: Zakir Durumeric
    Reported-by: J. Alex Halderman .
    Signed-off-by: Linus Torvalds
    Signed-off-by: "Theodore Ts'o"
    Cc: stable@vger.kernel.org

    Theodore Ts'o
     

11 Jul, 2012

5 commits