08 May, 2013

2 commits

  • Faster kernel compiles by way of fewer unnecessary includes.

    [akpm@linux-foundation.org: fix fallout]
    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Kent Overstreet
    Cc: Zach Brown
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Rusty Russell
    Cc: Jens Axboe
    Cc: Asai Thambi S P
    Cc: Selvan Mani
    Cc: Sam Bradshaw
    Cc: Jeff Moyer
    Cc: Al Viro
    Cc: Benjamin LaHaise
    Reviewed-by: "Theodore Ts'o"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kent Overstreet
     
  • These are handy for measuring the cost of the aio infrastructure with
    operations that do very little and complete immediately.

    Signed-off-by: Zach Brown
    Signed-off-by: Kent Overstreet
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Rusty Russell
    Cc: Jens Axboe
    Cc: Asai Thambi S P
    Cc: Selvan Mani
    Cc: Sam Bradshaw
    Acked-by: Jeff Moyer
    Cc: Al Viro
    Cc: Benjamin LaHaise
    Reviewed-by: "Theodore Ts'o"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zach Brown
     

05 May, 2013

2 commits


03 May, 2013

2 commits

  • Pull crypto update from Herbert Xu:

    - XTS mode optimisation for twofish/cast6/camellia/aes on x86

    - AVX2/x86_64 implementation for blowfish/twofish/serpent/camellia

    - SSSE3/AVX/AVX2 optimisations for sha256/sha512

    - Added driver for SAHARA2 crypto accelerator

    - Fix for GMAC when used in non-IPsec secnarios

    - Added generic CMAC implementation (including IPsec glue)

    - IP update for crypto/atmel

    - Support for more than one device in hwrng/timeriomem

    - Added Broadcom BCM2835 RNG driver

    - Misc fixes

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (59 commits)
    crypto: caam - fix job ring cleanup code
    crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
    crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher
    crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher
    crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher
    crypto: tcrypt - add async cipher speed tests for blowfish
    crypto: testmgr - extend camellia test-vectors for camellia-aesni/avx2
    crypto: aesni_intel - fix Kconfig problem with CRYPTO_GLUE_HELPER_X86
    crypto: aesni_intel - add more optimized XTS mode for x86-64
    crypto: x86/camellia-aesni-avx - add more optimized XTS code
    crypto: cast6-avx: use new optimized XTS code
    crypto: x86/twofish-avx - use optimized XTS code
    crypto: x86 - add more optimized XTS-mode for serpent-avx
    xfrm: add rfc4494 AES-CMAC-96 support
    crypto: add CMAC support to CryptoAPI
    crypto: testmgr - add empty test vectors for null ciphers
    crypto: testmgr - add AES GMAC test vectors
    crypto: gcm - fix rfc4543 to handle async crypto correctly
    crypto: gcm - make GMAC work when dst and src are different
    hwrng: timeriomem - added devicetree hooks
    ...

    Linus Torvalds
     
  • Pull virtio & lguest updates from Rusty Russell:
    "Lots of virtio work which wasn't quite ready for last merge window.

    Plus I dived into lguest again, reworking the pagetable code so we can
    move the switcher page: our fixmaps sometimes take more than 2MB now..."

    Ugh. Annoying conflicts with the tcm_vhost -> vhost_scsi rename.
    Hopefully correctly resolved.

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (57 commits)
    caif_virtio: Remove bouncing email addresses
    lguest: improve code readability in lg_cpu_start.
    virtio-net: fill only rx queues which are being used
    lguest: map Switcher below fixmap.
    lguest: cache last cpu we ran on.
    lguest: map Switcher text whenever we allocate a new pagetable.
    lguest: don't share Switcher PTE pages between guests.
    lguest: expost switcher_pages array (as lg_switcher_pages).
    lguest: extract shadow PTE walking / allocating.
    lguest: make check_gpte et. al return bool.
    lguest: assume Switcher text is a single page.
    lguest: rename switcher_page to switcher_pages.
    lguest: remove RESERVE_MEM constant.
    lguest: check vaddr not pgd for Switcher protection.
    lguest: prepare to make SWITCHER_ADDR a variable.
    virtio: console: replace EMFILE with EBUSY for already-open port
    virtio-scsi: reset virtqueue affinity when doing cpu hotplug
    virtio-scsi: introduce multiqueue support
    virtio-scsi: push vq lock/unlock into virtscsi_vq_done
    virtio-scsi: pass struct virtio_scsi to virtqueue completion function
    ...

    Linus Torvalds
     

02 May, 2013

2 commits

  • Pull VFS updates from Al Viro,

    Misc cleanups all over the place, mainly wrt /proc interfaces (switch
    create_proc_entry to proc_create(), get rid of the deprecated
    create_proc_read_entry() in favor of using proc_create_data() and
    seq_file etc).

    7kloc removed.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
    don't bother with deferred freeing of fdtables
    proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
    proc: Make the PROC_I() and PDE() macros internal to procfs
    proc: Supply a function to remove a proc entry by PDE
    take cgroup_open() and cpuset_open() to fs/proc/base.c
    ppc: Clean up scanlog
    ppc: Clean up rtas_flash driver somewhat
    hostap: proc: Use remove_proc_subtree()
    drm: proc: Use remove_proc_subtree()
    drm: proc: Use minor->index to label things, not PDE->name
    drm: Constify drm_proc_list[]
    zoran: Don't print proc_dir_entry data in debug
    reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
    proc: Supply an accessor for getting the data from a PDE's parent
    airo: Use remove_proc_subtree()
    rtl8192u: Don't need to save device proc dir PDE
    rtl8187se: Use a dir under /proc/net/r8180/
    proc: Add proc_mkdir_data()
    proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
    proc: Move PDE_NET() to fs/proc/proc_net.c
    ...

    Linus Torvalds
     
  • Supply a function (proc_remove()) to remove a proc entry (and any subtree
    rooted there) by proc_dir_entry pointer rather than by name and (optionally)
    root dir entry pointer. This allows us to eliminate all remaining pde->name
    accesses outside of procfs.

    Signed-off-by: David Howells
    Acked-by: Grant Likely
    cc: linux-acpi@vger.kernel.org
    cc: openipmi-developer@lists.sourceforge.net
    cc: devicetree-discuss@lists.ozlabs.org
    cc: linux-pci@vger.kernel.org
    cc: netdev@vger.kernel.org
    cc: netfilter-devel@vger.kernel.org
    cc: alsa-devel@alsa-project.org
    Signed-off-by: Al Viro

    David Howells
     

01 May, 2013

3 commits

  • Merge third batch of fixes from Andrew Morton:
    "Most of the rest. I still have two large patchsets against AIO and
    IPC, but they're a bit stuck behind other trees and I'm about to
    vanish for six days.

    - random fixlets
    - inotify
    - more of the MM queue
    - show_stack() cleanups
    - DMI update
    - kthread/workqueue things
    - compat cleanups
    - epoll udpates
    - binfmt updates
    - nilfs2
    - hfs
    - hfsplus
    - ptrace
    - kmod
    - coredump
    - kexec
    - rbtree
    - pids
    - pidns
    - pps
    - semaphore tweaks
    - some w1 patches
    - relay updates
    - core Kconfig changes
    - sysrq tweaks"

    * emailed patches from Andrew Morton : (109 commits)
    Documentation/sysrq: fix inconstistent help message of sysrq key
    ethernet/emac/sysrq: fix inconstistent help message of sysrq key
    sparc/sysrq: fix inconstistent help message of sysrq key
    powerpc/xmon/sysrq: fix inconstistent help message of sysrq key
    ARM/etm/sysrq: fix inconstistent help message of sysrq key
    power/sysrq: fix inconstistent help message of sysrq key
    kgdb/sysrq: fix inconstistent help message of sysrq key
    lib/decompress.c: fix initconst
    notifier-error-inject: fix module names in Kconfig
    kernel/sys.c: make prctl(PR_SET_MM) generally available
    UAPI: remove empty Kbuild files
    menuconfig: print more info for symbol without prompts
    init/Kconfig: re-order CONFIG_EXPERT options to fix menuconfig display
    kconfig menu: move Virtualization drivers near other virtualization options
    Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS
    relay: use macro PAGE_ALIGN instead of FIX_SIZE
    kernel/relay.c: move FIX_SIZE macro into relay.c
    kernel/relay.c: remove unused function argument actor
    drivers/w1/slaves/w1_ds2760.c: fix the error handling in w1_ds2760_add_slave()
    drivers/w1/slaves/w1_ds2781.c: fix the error handling in w1_ds2781_add_slave()
    ...

    Linus Torvalds
     
  • There are several places in kernel where modules unescapes input to convert
    C-Style Escape Sequences into byte codes.

    The patch provides generic implementation of such approach. Test cases are
    also included into the patch.

    [akpm@linux-foundation.org: clarify comment]
    [akpm@linux-foundation.org: export get_random_int() to modules]
    Signed-off-by: Andy Shevchenko
    Cc: Samuel Thibault
    Cc: Greg Kroah-Hartman
    Cc: Jason Baron
    Cc: Alexander Viro
    Cc: William Hubbs
    Cc: Chris Brannon
    Cc: Kirk Reiser
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Pull security subsystem update from James Morris:
    "Just some minor updates across the subsystem"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    ima: eliminate passing d_name.name to process_measurement()
    TPM: Retry SaveState command in suspend path
    tpm/tpm_i2c_infineon: Add small comment about return value of __i2c_transfer
    tpm/tpm_i2c_infineon.c: Add OF attributes type and name to the of_device_id table entries
    tpm_i2c_stm_st33: Remove duplicate inclusion of header files
    tpm: Add support for new Infineon I2C TPM (SLB 9645 TT 1.2 I2C)
    char/tpm: Convert struct i2c_msg initialization to C99 format
    drivers/char/tpm/tpm_ppi: use strlcpy instead of strncpy
    tpm/tpm_i2c_stm_st33: formatting and white space changes
    Smack: include magic.h in smackfs.c
    selinux: make security_sb_clone_mnt_opts return an error on context mismatch
    seccomp: allow BPF_XOR based ALU instructions.
    Fix NULL pointer dereference in smack_inode_unlink() and smack_inode_rmdir()
    Smack: add support for modification of existing rules
    smack: SMACK_MAGIC to include/uapi/linux/magic.h
    Smack: add missing support for transmute bit in smack_str_from_perm()
    Smack: prevent revoke-subject from failing when unseen label is written to it
    tomoyo: use DEFINE_SRCU() to define tomoyo_ss
    tomoyo: use DEFINE_SRCU() to define tomoyo_ss

    Linus Torvalds
     

30 Apr, 2013

4 commits

  • Don't use create_proc_read_entry() as that is deprecated, but rather use
    proc_create_data() and seq_file instead.

    Signed-off-by: David Howells
    cc: Arnd Bergmann
    cc: Greg Kroah-Hartman
    Signed-off-by: Al Viro

    David Howells
     
  • Don't use create_proc_read_entry() as that is deprecated, but rather use
    proc_create_data() and seq_file instead.

    Signed-off-by: David Howells
    cc: Arnd Bergmann
    cc: Greg Kroah-Hartman
    Signed-off-by: Al Viro

    David Howells
     
  • Don't use create_proc_read_entry() as that is deprecated, but rather use
    proc_create_data() and seq_file instead.

    Signed-off-by: David Howells
    cc: Arnd Bergmann
    cc: Greg Kroah-Hartman
    Signed-off-by: Al Viro

    David Howells
     
  • Pull char/misc driver update from Greg Kroah-Hartman:
    "Here's the big char / misc driver update for 3.10-rc1

    A number of various driver updates, the majority being new
    functionality in the MEI driver subsystem (it's now a subsystem, it
    started out just a single driver), extcon updates, memory updates,
    hyper-v updates, and a bunch of other small stuff that doesn't fit in
    any other tree.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)
    Tools: hv: Fix a checkpatch warning
    tools: hv: skip iso9660 mounts in hv_vss_daemon
    tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon
    tools: hv: use getmntent in hv_vss_daemon
    Tools: hv: Fix a checkpatch warning
    tools: hv: fix checks for origin of netlink message in hv_vss_daemon
    Tools: hv: fix warnings in hv_vss_daemon
    misc: mark spear13xx-pcie-gadget as broken
    mei: fix krealloc() misuse in in mei_cl_irq_read_msg()
    mei: reduce flow control only for completed messages
    mei: reseting -> resetting
    mei: fix reading large reposnes
    mei: revamp mei_irq_read_client_message function
    mei: revamp mei_amthif_irq_read_message
    mei: revamp hbm state machine
    Revert "drivers/scsi: use module_pcmcia_driver() in pcmcia drivers"
    Revert "scsi: pcmcia: nsp_cs: remove module init/exit function prototypes"
    scsi: pcmcia: nsp_cs: remove module init/exit function prototypes
    mei: wd: fix line over 80 characters
    misc: tsl2550: Use dev_pm_ops
    ...

    Linus Torvalds
     

25 Apr, 2013

3 commits


20 Apr, 2013

1 commit


17 Apr, 2013

1 commit

  • If the TPM has already been sent a SaveState command before the driver
    is loaded it may have problems sending that same command again later.

    This issue is seen with the Chromebook Pixel due to a firmware bug in
    the legacy mode boot path which is sending the SaveState command
    before booting the kernel. More information is available at
    http://crbug.com/203524

    This change introduces a retry of the SaveState command in the suspend
    path in order to work around this issue. A future firmware update
    should fix this but this is also a trivial workaround in the driver
    that has no effect on systems that do not show this problem.

    When this does happen the TPM responds with a non-fatal TPM_RETRY code
    that is defined in the specification:

    The TPM is too busy to respond to the command immediately, but the
    command could be resubmitted at a later time. The TPM MAY return
    TPM_RETRY for any command at any time.

    It can take several seconds before the TPM will respond again. I
    measured a typical time between 3 and 4 seconds and the timeout is set
    at a safe 5 seconds.

    It is also possible to reproduce this with commands via /dev/tpm0.
    The bug linked above has a python script attached which can be used to
    test for this problem. I tested a variety of TPMs from Infineon,
    Nuvoton, Atmel, and STMicro but was only able to reproduce this with
    LPC and I2C TPMs from Infineon.

    The TPM specification only loosely defines this behavior:

    TPM Main Level 2 Part 3 v1.2 r116, section 3.3. TPM_SaveState:
    The TPM MAY declare all preserved values invalid in response to any
    command other than TPM_Init.

    TCG PC Client BIOS Spec 1.21 section 8.3.1.
    After issuing a TPM_SaveState command, the OS SHOULD NOT issue TPM
    commands before transitioning to S3 without issuing another
    TPM_SaveState command.

    TCG PC Client TIS 1.21, section 4. Power Management:
    The TPM_SaveState command allows a Static OS to indicate to the TPM
    that the platform may enter a low power state where the TPM will be
    required to enter into the D3 power state. The use of the term "may"
    is significant in that there is no requirement for the platform to
    actually enter the low power state after sending the TPM_SaveState
    command. The software may, in fact, send subsequent commands after
    sending the TPM_SaveState command.

    Change-Id: I52b41e826412688e5b6c8ddd3bb16409939704e9
    Signed-off-by: Duncan Laurie
    Signed-off-by: Kent Yoder

    Duncan Laurie
     

15 Apr, 2013

2 commits


13 Apr, 2013

7 commits


10 Apr, 2013

2 commits


08 Apr, 2013

1 commit


02 Apr, 2013

1 commit


30 Mar, 2013

2 commits

  • When multiple ovq operations are being performed (lots of open/close
    operations on virtio_console fds), the __send_control_msg() function can
    get confused without locking.

    A simple recipe to cause badness is:
    * create a QEMU VM with two virtio-serial ports
    * in the guest, do
    while true;do echo abc >/dev/vport0p1;done
    while true;do echo edf >/dev/vport0p2;done

    In one run, this caused a panic in __send_control_msg(). In another, I
    got

    virtio_console virtio0: control-o:id 0 is not a head!

    This also results repeated messages similar to these on the host:

    qemu-kvm: virtio-serial-bus: Unexpected port id 478762112 for device virtio-serial-bus.0
    qemu-kvm: virtio-serial-bus: Unexpected port id 478762368 for device virtio-serial-bus.0

    Reported-by: FuXiangChun
    Signed-off-by: Amit Shah
    Reviewed-by: Wanlong Gao
    Reviewed-by: Asias He
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org

    Amit Shah
     
  • The cvq_lock was taken for the c_ivq. Rename the lock to make that
    obvious.

    We'll also add a lock around the c_ovq in the next commit, so there's no
    ambiguity.

    Signed-off-by: Amit Shah
    Reviewed-by: Asias He
    Reviewed-by: Wanlong Gao
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org

    Amit Shah
     

27 Mar, 2013

1 commit


26 Mar, 2013

1 commit


22 Mar, 2013

2 commits

  • Using devm_ioremap_resource() can make the code cleaner and simpler.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Herbert Xu

    Fabio Estevam
     
  • This patch adds CONFIG_PM_SLEEP to suspend/resume functions to fix
    the following build warning when CONFIG_PM_SLEEP is not selected.

    drivers/char/hw_random/exynos-rng.c:147:12: warning: 'exynos_rng_runtime_suspend' defined but not used [-Wunused-function]
    drivers/char/hw_random/exynos-rng.c:157:12: warning: 'exynos_rng_runtime_resume' defined but not used [-Wunused-function]

    Add CONFIG_PM_RUNTIME to suspend/resume functions to fix the build
    error. It is because UNIVERSAL_DEV_PM_OPS macro is related to both
    CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME.

    drivers/char/hw_random/exynos-rng.c:167:8: error: 'exynos_rng_runtime_suspend' undeclared here (not in a function)
    drivers/char/hw_random/exynos-rng.c:167:8: error: 'exynos_rng_runtime_resume' undeclared here (not in a function)

    Signed-off-by: Jingoo Han
    Reported-by: David Rientjes
    Signed-off-by: Herbert Xu

    Jingoo Han
     

20 Mar, 2013

1 commit