29 Nov, 2012

1 commit


27 Nov, 2012

2 commits


16 Nov, 2012

1 commit


15 Nov, 2012

6 commits

  • This patch documents the firmware cache mechanism so that
    users of request_firmware() know that it can be called
    safely inside device's suspend and resume callback, and
    the device's firmware needn't be cached any more by individual
    driver itself to deal with firmware loss during system resume.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • This patch introduces one module parameter of 'path' in firmware_class
    to support customizing firmware image search path, so that people can
    use its own firmware path if the default built-in paths can't meet their
    demand[1], and the typical usage is passing the below from kernel command
    parameter when 'firmware_class' is built in kernel:

    firmware_class.path=$CUSTOMIZED_PATH

    [1], https://lkml.org/lkml/2012/10/11/337

    Cc: Linus Torvalds
    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • The comment above fw_file_size() suggests it is noinline for stack size
    reasons. Use noinline_for_stack to make this more clear.

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Cesar Eduardo Barros
     
  • There is one race that both request_firmware() with the same
    firmware name.

    The race scenerio is as below:
    CPU1 CPU2
    request_firmware() -->
    _request_firmware_load() return err another request_firmware() is coming -->
    _request_firmware_cleanup is called --> _request_firmware_prepare -->
    release_firmware ---> fw_lookup_and_allocate_buf -->
    spin_lock(&fwc->lock)
    ... __fw_lookup_buf() return true
    fw_free_buf() will be called --> ...
    kref_put -->
    decrease the refcount to 0
    kref_get(&tmp->ref) ==> it will trigger warning
    due to refcount == 0
    __fw_free_buf() -->
    ... spin_unlock(&fwc->lock)
    spin_lock(&fwc->lock)
    list_del(&buf->list)
    spin_unlock(&fwc->lock)
    kfree(buf)
    After that, the freed buf will be used.

    The key race is decreasing refcount to 0 and list_del is not protected together by
    fwc->lock, and it is possible another thread try to get it between refcount==0
    and list_del.

    Fix it here to protect it together.

    Acked-by: Ming Lei
    Signed-off-by: liu chuansheng
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Chuansheng Liu
     
  • There is a race as below when calling request_firmware():
    CPU1 CPU2
    write 0 > loading
    mutex_lock(&fw_lock)
    ...
    set_bit FW_STATUS_DONE class_timeout is coming
    set_bit FW_STATUS_ABORT
    complete_all &completion
    ...
    mutex_unlock(&fw_lock)

    In this time, the bit FW_STATUS_DONE and FW_STATUS_ABORT are set,
    and request_firmware() will return failure due to condition in
    _request_firmware_load():
    if (!buf->size || test_bit(FW_STATUS_ABORT, &buf->status))
    retval = -ENOENT;

    But from the above scenerio, it should be a successful requesting.
    So we need judge if the bit FW_STATUS_DONE is already set before
    calling fw_load_abort() in timeout function.

    As Ming's proposal, we need change the timer into sched_work to
    benefit from using &fw_lock mutex also.

    Signed-off-by: liu chuansheng
    Acked-by: Ming Lei
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Chuansheng Liu
     
  • Greg Kroah-Hartman
     

11 Nov, 2012

1 commit

  • Pull sparc fixes from David Miller:
    "Several build/bug fixes for sparc, including:

    1) Configuring a mix of static vs. modular sparc64 crypto modules
    didn't work, remove an ill-conceived attempt to only have to build
    the device match table for these drivers once to fix the problem.

    Reported by Meelis Roos.

    2) Make the montgomery multiple/square and mpmul instructions actually
    usable in 32-bit tasks. Essentially this involves providing 32-bit
    userspace with a way to use a 64-bit stack when it needs to.

    3) Our sparc64 atomic backoffs don't yield cpu strands properly on
    Niagara chips. Use pause instruction when available to achieve
    this, otherwise use a benign instruction we know blocks the strand
    for some time.

    4) Wire up kcmp

    5) Fix the build of various drivers by removing the unnecessary
    blocking of OF_GPIO when SPARC.

    6) Fix unintended regression wherein of_address_to_resource stopped
    being provided. Fix from Andreas Larsson.

    7) Fix NULL dereference in leon_handle_ext_irq(), also from Andreas
    Larsson."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Fix build with mix of modular vs. non-modular crypto drivers.
    sparc: Support atomic64_dec_if_positive properly.
    of/address: sparc: Declare of_address_to_resource() as an extern function for sparc again
    sparc32, leon: Check for existent irq_map entry in leon_handle_ext_irq
    sparc: Add sparc support for platform_get_irq()
    sparc: Allow OF_GPIO on sparc.
    qlogicpti: Fix build warning.
    sparc: Wire up sys_kcmp.
    sparc64: Improvde documentation and readability of atomic backoff code.
    sparc64: Use pause instruction when available.
    sparc64: Fix cpu strand yielding.
    sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads.

    Linus Torvalds
     

10 Nov, 2012

1 commit

  • This adds sparc support for platform_get_irq that in the normal case use
    platform_get_resource() to get an irq. This standard approach fails for sparc as
    there are no resources of type IORESOURCE_IRQ for irqs for sparc.

    Cross platform drivers can then use this standard platform function and work on
    sparc instead of having to have a special case for sparc.

    Signed-off-by: Andreas Larsson
    Signed-off-by: David S. Miller

    Andreas Larsson
     

31 Oct, 2012

2 commits


29 Oct, 2012

1 commit


27 Oct, 2012

2 commits

  • Pull power management and ACPI fixes from Rafael J Wysocki:

    - Fix for a memory leak in acpi_bind_one() from Jesper Juhl.

    - Fix for an error code path memory leak in pm_genpd_attach_cpuidle()
    from Jonghwan Choi.

    - Fix for smp_processor_id() usage in preemptible code in powernow-k8
    from Andreas Herrmann.

    - Fix for a suspend-related memory leak in cpufreq stats from Xiaobing
    Tu.

    - Freezer fix for failure to clear PF_NOFREEZE along with PF_KTHREAD in
    flush_old_exec() from Oleg Nesterov.

    - acpi_processor_notify() fix from Alan Cox.

    * tag 'pm+acpi-for-3.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: missing break
    freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD
    Fix memory leak in cpufreq stats.
    cpufreq / powernow-k8: Remove usage of smp_processor_id() in preemptible code
    PM / Domains: Fix memory leak on error path in pm_genpd_attach_cpuidle
    ACPI: Fix memory leak in acpi_bind_one()

    Linus Torvalds
     
  • Pull driver core fixes from Greg Kroah-Hartman:
    "Here are a number of firmware core fixes for 3.7, and some other minor
    fixes. And some documentation updates thrown in for good measure.

    All have been in the linux-next tree for a while.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    Documentation:Chinese translation of Documentation/arm64/memory.txt
    Documentation:Chinese translation of Documentation/arm64/booting.txt
    Documentation:Chinese translation of Documentation/IRQ.txt
    firmware loader: document kernel direct loading
    sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat()
    dynamic_debug: Remove unnecessary __used
    firmware loader: sync firmware cache by async_synchronize_full_domain
    firmware loader: let direct loading back on 'firmware_buf'
    firmware loader: fix one reqeust_firmware race
    firmware loader: cancel uncache work before caching firmware

    Linus Torvalds
     

26 Oct, 2012

2 commits

  • Pull CMA and DMA-mapping fixes from Marek Szyprowski:
    "This consists mainly of a set of one-liner fixes and cleanups for a
    few minor issues identified in both Contiguous Memory Allocator code
    and ARM DMA-mapping subsystem."

    * 'fixes_for_linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: mm: Remove unused arm_vmregion priv field
    ARM: dma-mapping: fix build warning in __dma_alloc()
    ARM: dma-mapping: support debug_dma_mapping_error
    mm: cma: alloc_contig_range: return early for err path
    drivers: cma: Fix wrong CMA selected region size default value
    drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentation
    drivers: dma-contiguous: Don't redefine SZ_1M

    Linus Torvalds
     
  • This config item has not carried much meaning for a while now and is
    almost always enabled by default. As agreed during the Linux kernel
    summit, remove it.

    CC: Greg Kroah-Hartman
    Signed-off-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Kees Cook
     

23 Oct, 2012

4 commits


22 Oct, 2012

4 commits

  • async.c has provided synchronization mechanism on async_schedule_*,
    so use async_synchronize_full_domain to sync caching firmware instead
    of reinventing the wheel.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • Firstly 'firmware_buf' is introduced to make all loading requests
    to share one firmware kernel buffer, so firmware_buf should
    be used in direct loading for saving memory and speedup firmware
    loading.

    Secondly, the commit below

    abb139e75c2cdbb955e840d6331cb5863e409d0e(firmware:teach
    the kernel to load firmware files directly from the filesystem)

    introduces direct loading for fixing udev regression, but it
    bypasses the firmware cache meachnism, so this patch enables
    caching firmware for direct loading case since it is still needed
    to solve drivers' dependency during system resume.

    Cc: Linus Torvalds
    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • Several loading requests may be pending on one same
    firmware buf, and this patch moves fw_map_pages_buf()
    before complete_all(&fw_buf->completion) and let all
    requests see the mapped 'buf->data' once the loading
    is completed.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • Under 'Opportunistic sleep' situation, system sleep might be
    triggered very frequently, so the uncahce work may not be completed
    before caching firmware during next suspend.

    This patch cancels the uncache work before caching firmware to
    fix the problem above.

    Also this patch optimizes the cacheing firmware mechanism a bit by
    only storing one firmware cache entry for one firmware image.

    So if the firmware is still cached during suspend, it doesn't need
    to be loaded from user space any more.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     

17 Oct, 2012

1 commit

  • The regmap_mmio and regmap_irq depend on regmap core, if not select,
    we may not compile regmap core and meet compiling errors as follows
    if REGMAP_MMIO is selected by client drivers:
    drivers/mfd/syscon.c:94:15: error: variable 'syscon_regmap_config' has initializer but incomplete type
    drivers/mfd/syscon.c:95:2: error: unknown field 'reg_bits' specified in initializer
    drivers/mfd/syscon.c:95:2: warning: excess elements in struct initializer [enabled by default]
    drivers/mfd/syscon.c:95:2: warning: (near initialization for 'syscon_regmap_config') [enabled by default]
    drivers/mfd/syscon.c:96:2: error: unknown field 'val_bits' specified in initializer
    drivers/mfd/syscon.c:96:2: warning: excess elements in struct initializer [enabled by default]
    drivers/mfd/syscon.c:96:2: warning: (near initialization for 'syscon_regmap_config') [enabled by default]
    drivers/mfd/syscon.c:97:2: error: unknown field 'reg_stride' specified in initializer
    drivers/mfd/syscon.c:97:2: warning: excess elements in struct initializer [enabled by default]
    drivers/mfd/syscon.c:97:2: warning: (near initialization for 'syscon_regmap_config') [enabled by default]
    drivers/mfd/syscon.c: In function 'syscon_probe':
    drivers/mfd/syscon.c:124:2: error: invalid use of undefined type 'struct regmap_config'
    drivers/mfd/syscon.c:125:2: error: implicit declaration of function 'devm_regmap_init_mmio' [-Werror=implicit-function-declaration]
    drivers/mfd/syscon.c:125:17: warning: assignment makes pointer from integer without a cast [enabled by default]
    cc1: some warnings being treated as errors

    drivers/mfd/Kconfig:
    config MFD_SYSCON
    bool "System Controller Register R/W Based on Regmap"
    depends on OF
    select REGMAP_MMIO
    help
    Select this option to enable accessing system control registers
    via regmap.

    Signed-off-by: Dong Aisheng
    Signed-off-by: Mark Brown

    Dong Aisheng
     

09 Oct, 2012

2 commits

  • remove_memory() will be called when hot removing a memory device. But
    even if offlining memory, we cannot notice it. So the patch updates the
    memory block's state and sends notification to userspace.

    Additionally, the memory device may contain more than one memory block.
    If the memory block has been offlined, __offline_pages() will fail. So we
    should try to offline one memory block at a time.

    Thus remove_memory() also check each memory block's state. So there is no
    need to check the memory block's state before calling remove_memory().

    Signed-off-by: Wen Congyang
    Signed-off-by: Yasuaki Ishimatsu
    Cc: David Rientjes
    Cc: Jiang Liu
    Cc: Len Brown
    Cc: Christoph Lameter
    Cc: Minchan Kim
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wen Congyang
     
  • remove_memory() is called in two cases:
    1. echo offline >/sys/devices/system/memory/memoryXX/state
    2. hot remove a memory device

    In the 1st case, the memory block's state is changed and the notification
    that memory block's state changed is sent to userland after calling
    remove_memory(). So user can notice memory block is changed.

    But in the 2nd case, the memory block's state is not changed and the
    notification is not also sent to userspcae even if calling
    remove_memory(). So user cannot notice memory block is changed.

    For adding the notification at memory hot remove, the patch just prepare
    as follows:
    1st case uses offline_pages() for offlining memory.
    2nd case uses remove_memory() for offlining memory and changing memory block's
    state and notifing the information.

    The patch does not implement notification to remove_memory().

    Signed-off-by: Wen Congyang
    Signed-off-by: Yasuaki Ishimatsu
    Cc: David Rientjes
    Cc: Jiang Liu
    Cc: Len Brown
    Cc: Christoph Lameter
    Cc: Minchan Kim
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wen Congyang
     

05 Oct, 2012

1 commit

  • Fengguang correctly points out that the firmware reading should not use
    vfs_read(), since the buffer is in kernel space.

    The vfs_read() just happened to work for kernel threads, but sparse
    warns about the incorrect address spaces, and it's definitely incorrect
    and could fail for other users of the firmware loading.

    Reported-by: Fengguang Wu
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

04 Oct, 2012

1 commit

  • This is a first step in allowing people to by-pass udev for loading
    device firmware. Current versions of udev will deadlock (causing us to
    block for the 30 second timeout) under some circumstances if the
    firmware is loaded as part of the module initialization path, and this
    is causing problems for media drivers in particular.

    The current patch hardcodes the firmware path that udev uses by default,
    and will fall back to the legacy udev mode if the firmware cannot be
    found there. We'd like to add support for both configuring the paths
    and the fallback behaviour, but in the meantime this hopefully fixes the
    immediate problem, while also giving us a way forward.

    [ v2: Some VFS layer interface cleanups suggested by Al Viro ]
    [ v3: use the default udev paths suggested by Kay Sievers ]

    Suggested-by: Ivan Kalvachev
    Acked-by: Greg KH
    Acked-by: Al Viro
    Cc: Mauro Carvalho Chehab
    Cc: Kay Sievers
    Cc: Ming Lei
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

03 Oct, 2012

4 commits

  • Pull vfs update from Al Viro:

    - big one - consolidation of descriptor-related logics; almost all of
    that is moved to fs/file.c

    (BTW, I'm seriously tempted to rename the result to fd.c. As it is,
    we have a situation when file_table.c is about handling of struct
    file and file.c is about handling of descriptor tables; the reasons
    are historical - file_table.c used to be about a static array of
    struct file we used to have way back).

    A lot of stray ends got cleaned up and converted to saner primitives,
    disgusting mess in android/binder.c is still disgusting, but at least
    doesn't poke so much in descriptor table guts anymore. A bunch of
    relatively minor races got fixed in process, plus an ext4 struct file
    leak.

    - related thing - fget_light() partially unuglified; see fdget() in
    there (and yes, it generates the code as good as we used to have).

    - also related - bits of Cyrill's procfs stuff that got entangled into
    that work; _not_ all of it, just the initial move to fs/proc/fd.c and
    switch of fdinfo to seq_file.

    - Alex's fs/coredump.c spiltoff - the same story, had been easier to
    take that commit than mess with conflicts. The rest is a separate
    pile, this was just a mechanical code movement.

    - a few misc patches all over the place. Not all for this cycle,
    there'll be more (and quite a few currently sit in akpm's tree)."

    Fix up trivial conflicts in the android binder driver, and some fairly
    simple conflicts due to two different changes to the sock_alloc_file()
    interface ("take descriptor handling from sock_alloc_file() to callers"
    vs "net: Providing protocol type via system.sockprotoname xattr of
    /proc/PID/fd entries" adding a dentry name to the socket)

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (72 commits)
    MAX_LFS_FILESIZE should be a loff_t
    compat: fs: Generic compat_sys_sendfile implementation
    fs: push rcu_barrier() from deactivate_locked_super() to filesystems
    btrfs: reada_extent doesn't need kref for refcount
    coredump: move core dump functionality into its own file
    coredump: prevent double-free on an error path in core dumper
    usb/gadget: fix misannotations
    fcntl: fix misannotations
    ceph: don't abuse d_delete() on failure exits
    hypfs: ->d_parent is never NULL or negative
    vfs: delete surplus inode NULL check
    switch simple cases of fget_light to fdget
    new helpers: fdget()/fdput()
    switch o2hb_region_dev_write() to fget_light()
    proc_map_files_readdir(): don't bother with grabbing files
    make get_file() return its argument
    vhost_set_vring(): turn pollstart/pollstop into bool
    switch prctl_set_mm_exe_file() to fget_light()
    switch xfs_find_handle() to fget_light()
    switch xfs_swapext() to fget_light()
    ...

    Linus Torvalds
     
  • Pull CMA and DMA-mapping updates from Marek Szyprowski:
    "This time the pull request is rather small, because the further
    redesign patches were not ready on time.

    This pull request consists of the patches which extend ARM DMA-mapping
    subsystem with support for CPU coherent (ACP) DMA busses. The first
    client of the new version is HighBank SATA driver. The second part of
    the pull request includes various cleanup for both CMA common code and
    ARM DMA-mapping subsystem."

    Fix up trivial add-add conflict due to the "dma-coherent" DT property
    being added next to the "calxeda,port-phys" property for the Calxeda
    AHCI controller.

    * 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: dma-mapping: Remove unsed var at arm_coherent_iommu_unmap_page
    ARM: highbank: add coherent DMA setup
    ARM: kill off arch_is_coherent
    ARM: add coherent iommu dma ops
    ARM: add coherent dma ops
    ARM: dma-mapping: Refrain noisy console message
    ARM: dma-mapping: Small logical clean up
    drivers: dma-contiguous: refactor dma_alloc_from_contiguous()

    Linus Torvalds
     
  • Pull power management updates from Rafael J Wysocki:

    - Improved system suspend/resume and runtime PM handling for the SH
    TMU, CMT and MTU2 clock event devices (also used by ARM/shmobile).

    - Generic PM domains framework extensions related to cpuidle support
    and domain objects lookup using names.

    - ARM/shmobile power management updates including improved support for
    the SH7372's A4S power domain containing the CPU core.

    - cpufreq changes related to AMD CPUs support from Matthew Garrett,
    Andre Przywara and Borislav Petkov.

    - cpu0 cpufreq driver from Shawn Guo.

    - cpufreq governor fixes related to the relaxing of limit from Michal
    Pecio.

    - OMAP cpufreq updates from Axel Lin and Richard Zhao.

    - cpuidle ladder governor fixes related to the disabling of states from
    Carsten Emde and me.

    - Runtime PM core updates related to the interactions with the system
    suspend core from Alan Stern and Kevin Hilman.

    - Wakeup sources modification allowing more helper functions to be
    called from interrupt context from John Stultz and additional
    diagnostic code from Todd Poynor.

    - System suspend error code path fix from Feng Hong.

    Fixed up conflicts in cpufreq/powernow-k8 that stemmed from the
    workqueue fixes conflicting fairly badly with the removal of support for
    hardware P-state chips. The changes were independent but somewhat
    intertwined.

    * tag 'pm-for-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    Revert "PM QoS: Use spinlock in the per-device PM QoS constraints code"
    PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2
    cpuidle: rename function name "__cpuidle_register_driver", v2
    cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name
    cpuidle: remove some empty lines
    PM: Prevent runtime suspend during system resume
    PM QoS: Use spinlock in the per-device PM QoS constraints code
    PM / Sleep: use resume event when call dpm_resume_early
    cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure
    ACPI / processor: remove pointless variable initialization
    ACPI / processor: remove unused function parameter
    cpufreq: OMAP: remove loops_per_jiffy recalculate for smp
    sections: fix section conflicts in drivers/cpufreq
    cpufreq: conservative: update frequency when limits are relaxed
    cpufreq / ondemand: update frequency when limits are relaxed
    properly __init-annotate pm_sysrq_init()
    cpufreq: Add a generic cpufreq-cpu0 driver
    PM / OPP: Initialize OPP table from device tree
    ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp
    cpufreq: Remove support for hardware P-state chips from powernow-k8
    ...

    Linus Torvalds
     
  • Pull user namespace changes from Eric Biederman:
    "This is a mostly modest set of changes to enable basic user namespace
    support. This allows the code to code to compile with user namespaces
    enabled and removes the assumption there is only the initial user
    namespace. Everything is converted except for the most complex of the
    filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,
    nfs, ocfs2 and xfs as those patches need a bit more review.

    The strategy is to push kuid_t and kgid_t values are far down into
    subsystems and filesystems as reasonable. Leaving the make_kuid and
    from_kuid operations to happen at the edge of userspace, as the values
    come off the disk, and as the values come in from the network.
    Letting compile type incompatible compile errors (present when user
    namespaces are enabled) guide me to find the issues.

    The most tricky areas have been the places where we had an implicit
    union of uid and gid values and were storing them in an unsigned int.
    Those places were converted into explicit unions. I made certain to
    handle those places with simple trivial patches.

    Out of that work I discovered we have generic interfaces for storing
    quota by projid. I had never heard of the project identifiers before.
    Adding full user namespace support for project identifiers accounts
    for most of the code size growth in my git tree.

    Ultimately there will be work to relax privlige checks from
    "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing
    root in a user names to do those things that today we only forbid to
    non-root users because it will confuse suid root applications.

    While I was pushing kuid_t and kgid_t changes deep into the audit code
    I made a few other cleanups. I capitalized on the fact we process
    netlink messages in the context of the message sender. I removed
    usage of NETLINK_CRED, and started directly using current->tty.

    Some of these patches have also made it into maintainer trees, with no
    problems from identical code from different trees showing up in
    linux-next.

    After reading through all of this code I feel like I might be able to
    win a game of kernel trivial pursuit."

    Fix up some fairly trivial conflicts in netfilter uid/git logging code.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)
    userns: Convert the ufs filesystem to use kuid/kgid where appropriate
    userns: Convert the udf filesystem to use kuid/kgid where appropriate
    userns: Convert ubifs to use kuid/kgid
    userns: Convert squashfs to use kuid/kgid where appropriate
    userns: Convert reiserfs to use kuid and kgid where appropriate
    userns: Convert jfs to use kuid/kgid where appropriate
    userns: Convert jffs2 to use kuid and kgid where appropriate
    userns: Convert hpfs to use kuid and kgid where appropriate
    userns: Convert btrfs to use kuid/kgid where appropriate
    userns: Convert bfs to use kuid/kgid where appropriate
    userns: Convert affs to use kuid/kgid wherwe appropriate
    userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids
    userns: On ia64 deal with current_uid and current_gid being kuid and kgid
    userns: On ppc convert current_uid from a kuid before printing.
    userns: Convert s390 getting uid and gid system calls to use kuid and kgid
    userns: Convert s390 hypfs to use kuid and kgid where appropriate
    userns: Convert binder ipc to use kuids
    userns: Teach security_path_chown to take kuids and kgids
    userns: Add user namespace support to IMA
    userns: Convert EVM to deal with kuids and kgids in it's hmac computation
    ...

    Linus Torvalds
     

02 Oct, 2012

2 commits

  • The dma_alloc_from_contiguous() function returns either a valid pointer
    to a page structure or NULL, the error code set when pageno >= cma->count
    is not used at all and can be safely removed.

    This commit also changes the function to avoid goto and have only one exit
    path and one place where mutex is unlocked.

    Signed-off-by: Michal Nazarewicz
    [fixed compilation break caused by missing semicolon]
    Signed-off-by: Marek Szyprowski

    Michal Nazarewicz
     
  • Pull driver core merge from Greg Kroah-Hartman:
    "Here is the big driver core update for 3.7-rc1.

    A number of firmware_class.c updates (as you saw a month or so ago),
    and some hyper-v updates and some printk fixes as well. All patches
    that are outside of the drivers/base area have been acked by the
    respective maintainers, and have all been in the linux-next tree for a
    while.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (95 commits)
    memory: tegra{20,30}-mc: Fix reading incorrect register in mc_readl()
    device.h: Add missing inline to #ifndef CONFIG_PRINTK dev_vprintk_emit
    memory: emif: Add ifdef CONFIG_DEBUG_FS guard for emif_debugfs_[init|exit]
    Documentation: Fixes some translation error in Documentation/zh_CN/gpio.txt
    Documentation: Remove 3 byte redundant code at the head of the Documentation/zh_CN/arm/booting
    Documentation: Chinese translation of Documentation/video4linux/omap3isp.txt
    device and dynamic_debug: Use dev_vprintk_emit and dev_printk_emit
    dev: Add dev_vprintk_emit and dev_printk_emit
    netdev_printk/netif_printk: Remove a superfluous logging colon
    netdev_printk/dynamic_netdev_dbg: Directly call printk_emit
    dev_dbg/dynamic_debug: Update to use printk_emit, optimize stack
    driver-core: Shut up dev_dbg_reatelimited() without DEBUG
    tools/hv: Parse /etc/os-release
    tools/hv: Check for read/write errors
    tools/hv: Fix exit() error code
    tools/hv: Fix file handle leak
    Tools: hv: Implement the KVP verb - KVP_OP_GET_IP_INFO
    Tools: hv: Rename the function kvp_get_ip_address()
    Tools: hv: Implement the KVP verb - KVP_OP_SET_IP_INFO
    Tools: hv: Add an example script to configure an interface
    ...

    Linus Torvalds
     

27 Sep, 2012

1 commit


25 Sep, 2012

1 commit