Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jan 18, 2012
  1. @torvalds

    Merge branch 'for-linus' of git://…

    torvalds authored
    * 'for-linus' of git:// (29 commits)
      audit: no leading space in audit_log_d_path prefix
      audit: treat s_id as an untrusted string
      audit: fix signedness bug in audit_log_execve_info()
      audit: comparison on interprocess fields
      audit: implement all object interfield comparisons
      audit: allow interfield comparison between gid and ogid
      audit: complex interfield comparison helper
      audit: allow interfield comparison in audit rules
      Kernel: Audit Support For The ARM Platform
      audit: do not call audit_getname on error
      audit: only allow tasks to set their loginuid if it is -1
      audit: remove task argument to audit_set_loginuid
      audit: allow audit matching on inode gid
      audit: allow matching on obj_uid
      audit: remove audit_finish_fork as it can't be called
      audit: reject entry,always rules
      audit: inline audit_free to simplify the look of generic code
      audit: drop audit_set_macxattr as it doesn't do anything
      audit: inline checks for not needing to collect aux records
      audit: drop some potentially inadvisable likely notations
    Use evil merge to fix up grammar mistakes in Kconfig file.
    Bad speling and horrible grammar (and copious swearing) is to be
    expected, but let's keep it to commit messages and comments, rather than
    expose it to users in config help texts or printouts.
Commits on Jan 17, 2012
  1. @nwhusted

    Kernel: Audit Support For The ARM Platform

    nwhusted authored Al Viro committed
    This patch provides functionality to audit system call events on the
    ARM platform. The implementation was based off the structure of the
    MIPS platform and information in this
    mailing list thread. The required audit_syscall_exit and
    audit_syscall_entry checks were added to ptrace using the standard
    registers for system call values (r0 through r3). A thread information
    flag was added for auditing (TIF_SYSCALL_AUDIT) and a meta-flag was
    added (_TIF_SYSCALL_WORK) to simplify modifications to the syscall
    entry/exit. Now, if either the TRACE flag is set or the AUDIT flag is
    set, the syscall_trace function will be executed. The prober changes
    were made to Kconfig to allow CONFIG_AUDITSYSCALL to be enabled.
    Due to platform availability limitations, this patch was only tested
    on the Android platform running the modified "android-goldfish-2.6.29"
    kernel. A test compile was performed using Code Sourcery's
    cross-compilation toolset and the current linux-3.0 stable kernel. The
    changes compile without error. I'm hoping, due to the simple modifications,
    the patch is "obviously correct".
    Signed-off-by: Nathaniel Husted <>
    Signed-off-by: Eric Paris <>
  2. @eparis

    audit: only allow tasks to set their loginuid if it is -1

    eparis authored Al Viro committed
    At the moment we allow tasks to set their loginuid if they have
    CAP_AUDIT_CONTROL.  In reality we want tasks to set the loginuid when they
    log in and it be impossible to ever reset.  We had to make it mutable even
    after it was once set (with the CAP) because on update and admin might have
    to restart sshd.  Now sshd would get his loginuid and the next user which
    logged in using ssh would not be able to set his loginuid.
    Systemd has changed how userspace works and allowed us to make the kernel
    work the way it should.  With systemd users (even admins) are not supposed
    to restart services directly.  The system will restart the service for
    them.  Thus since systemd is going to loginuid==-1, sshd would get -1, and
    sshd would be allowed to set a new loginuid without special permissions.
    If an admin in this system were to manually start an sshd he is inserting
    himself into the system chain of trust and thus, logically, it's his
    loginuid that should be used!  Since we have old systems I make this a
    Kconfig option.
    Signed-off-by: Eric Paris <>
Commits on Jan 14, 2012
  1. @torvalds

    Merge tag 'for-linus' of git://

    torvalds authored
    Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999  BFCB D920 0E6C D1AD B8F1
    * tag 'for-linus' of git://
      module_param: check that bool parameters really are bool.
      intelfbdrv.c: bailearly is an int module_param
      paride/pcd: fix bool verbose module parameter.
      module_param: make bool parameters really bool (drivers & misc)
      module_param: make bool parameters really bool (arch)
      module_param: make bool parameters really bool (core code)
      kernel/async: remove redundant declaration.
      printk: fix unnecessary module_param_name.
      lirc_parallel: fix module parameter description.
      module_param: avoid bool abuse, add bint for special cases.
      module_param: check type correctness for module_param_array
      modpost: use linker section to generate table.
      modpost: use a table rather than a giant if/else statement.
      modules: sysfs - export: taint, coresize, initsize
      kernel/params: replace DEBUGP with pr_debug
      module: replace DEBUGP with pr_debug
      module: struct module_ref should contains long fields
      module: Fix performance regression on modules with large symbol tables
      module: Add comments describing how the "strmap" logic works
    Fix up conflicts in scripts/mod/file2alias.c due to the new linker-
    generated table approach to adding __mod_*_device_table entries.  The
    ARM sa11x0 mcp bus needed to be converted to that too.
Commits on Jan 13, 2012
  1. @cyrillos @torvalds

    c/r: introduce CHECKPOINT_RESTORE symbol

    cyrillos authored torvalds committed
    For checkpoint/restore we need auxilary features being compiled into the
    kernel, such as additional prctl codes, /proc/<pid>/map_files and etc...
    but same time these features are not mandatory for a regular kernel so
    CHECKPOINT_RESTORE config symbol should bring a way to disable them all at
    once if one wish to get rid of additional functionality.
    Signed-off-by: Cyrill Gorcunov <>
    Cc: Tejun Heo <>
    Cc: Andrew Vagin <>
    Cc: Serge Hallyn <>
    Cc: Vasiliy Kulikov <>
    Reviewed-by: Kees Cook <>
    Cc: KAMEZAWA Hiroyuki <>
    Cc: Alexey Dobriyan <>
    Cc: "Eric W. Biederman" <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
Commits on Jan 12, 2012
  1. @rustyrussell

    module_param: make bool parameters really bool (core code)

    rustyrussell authored
    module_param(bool) used to counter-intuitively take an int.  In
    fddd520 (mid-2009) we allowed bool or int/unsigned int using a messy
    It's time to remove the int/unsigned int option.  For this version
    it'll simply give a warning, but it'll break next kernel version.
    Signed-off-by: Rusty Russell <>
  2. @torvalds

    Merge branch 'sched-urgent-for-linus' of git://…

    torvalds authored
    * 'sched-urgent-for-linus' of git://
      sched: Fix lockup by limiting load-balance retries on lock-break
      sched: Fix CONFIG_CGROUP_SCHED dependency
      sched: Remove empty #ifdefs
  3. @torvalds

    Merge branch 'x86-platform-for-linus' of git://…

    torvalds authored
    * 'x86-platform-for-linus' of git://
      x86/intel config: Fix the APB_TIMER selection
      x86/mrst: Add additional debug prints for pb_keys
      x86/intel config: Revamp configuration to allow for Moorestown and Medfield
      x86/intel/scu/ipc: Match the changes in the x86 configuration
      x86/apb: Fix configuration constraints
      x86: Fix INTEL_MID silly
      x86/Kconfig: Cyclone-timer depends on x86-summit
      x86: Reduce clock calibration time during slave cpu startup
      x86/config: Revamp configuration for MID devices
      x86/sfi: Kill the IRQ as id hack
  4. @torvalds

    Merge branch 'x86-mm-for-linus' of git://…

    torvalds authored
    * 'x86-mm-for-linus' of git://
      x86/numa: Add constraints check for nid parameters
      mm, x86: Remove debug_pagealloc_enabled
      x86/mm: Initialize high mem before free_all_bootmem()
      arch/x86/kernel/e820.c: quiet sparse noise about plain integer as NULL pointer
      arch/x86/kernel/e820.c: Eliminate bubble sort from sanitize_e820_map()
      x86: Fix mmap random address range
      x86, mm: Unify zone_sizes_init()
      x86, mm: Prepare zone_sizes_init() for unification
      x86, mm: Use max_low_pfn for ZONE_NORMAL on 64-bit
      x86, mm: Wrap ZONE_DMA32 with CONFIG_ZONE_DMA32
      x86, mm: Use max_pfn instead of highend_pfn
      x86, mm: Move zone init from paging_init() on 64-bit
      x86, mm: Use MAX_DMA_PFN for ZONE_DMA on 32-bit
Commits on Jan 10, 2012
  1. @torvalds

    Merge branch 'nfs-for-3.3' of git://…

    torvalds authored
    * 'nfs-for-3.3' of git://
      NFSv4: Change the default setting of the nfs4_disable_idmapping parameter
      NFSv4: Save the owner/group name string when doing open
      NFS: Remove pNFS bloat from the generic write path
      pnfs-obj: Must return layout on IO error
      pnfs-obj: pNFS errors are communicated on iodata->pnfs_error
      NFS: Cache state owners after files are closed
      NFS: Clean up nfs4_find_state_owners_locked()
      NFSv4: include bitmap in nfsv4 get acl data
      nfs: fix a minor do_div portability issue
      NFSv4.1: cleanup comment and debug printk
      NFSv4.1: change nfs4_free_slot parameters for dynamic slots
      NFSv4.1: cleanup init and reset of session slot tables
      NFSv4.1: fix backchannel slotid off-by-one bug
      nfs: fix regression in handling of context= option in NFSv4
      NFS - fix recent breakage to NFS error handling.
      NFS: Retry mounting NFSROOT
      SUNRPC: Clean up the RPCSEC_GSS service ticket requests
  2. @fabioestevam

    sched: Fix CONFIG_CGROUP_SCHED dependency

    fabioestevam authored Ingo Molnar committed
    The dependency bug was pointed out by this build warning:
     warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
    Signed-off-by: Fabio Estevam <>
    Cc: Fabio Estevam <>
    Signed-off-by: Ingo Molnar <>
Commits on Jan 8, 2012
  1. @torvalds

    Merge branch 'for-linus2' of git://…

    torvalds authored
    * 'for-linus2' of git:// (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 *
Commits on Jan 7, 2012
  1. vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb

    Al Viro authored
    Signed-off-by: Al Viro <>
  2. @torvalds

    Merge git://

    torvalds authored
    * git:// (1958 commits)
      net: pack skb_shared_info more efficiently
      net_sched: red: split red_parms into parms and vars
      net_sched: sfq: extend limits
      cnic: Improve error recovery on bnx2x devices
      cnic: Re-init dev->stats_addr after chip reset
      net_sched: Bug in netem reordering
      bna: fix sparse warnings/errors
      bna: make ethtool_ops and strings const
      xgmac: cleanups
      net: make ethtool_ops const
      vmxnet3" make ethtool ops const
      xen-netback: make ops structs const
      virtio_net: Pass gfp flags when allocating rx buffers.
      ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call
      netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call
      igb: reset PHY after recovering from PHY power down
      igb: add basic runtime PM support
      igb: Add support for byte queue limits.
      e1000: cleanup CE4100 MDIO registers access
      e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove
Commits on Jan 6, 2012
  1. @torvalds

    Merge branch 'core-rcu-for-linus' of git://…

    torvalds authored
    * 'core-rcu-for-linus' of git:// (64 commits)
      cpu: Export cpu_up()
      rcu: Apply ACCESS_ONCE() to rcu_boost() return value
      Revert "rcu: Permit rt_mutex_unlock() with irqs disabled"
      docs: Additional LWN links to RCU API
      rcu: Augment rcu_batch_end tracing for idle and callback state
      rcu: Add rcutorture tests for srcu_read_lock_raw()
      rcu: Make rcutorture test for hotpluggability before offlining CPUs
      driver-core/cpu: Expose hotpluggability to the rest of the kernel
      rcu: Remove redundant rcu_cpu_stall_suppress declaration
      rcu: Adaptive dyntick-idle preparation
      rcu: Keep invoking callbacks if CPU otherwise idle
      rcu: Irq nesting is always 0 on rcu_enter_idle_common
      rcu: Don't check irq nesting from rcu idle entry/exit
      rcu: Permit dyntick-idle with callbacks pending
      rcu: Document same-context read-side constraints
      rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass
      rcu: Remove dynticks false positives and RCU failures
      rcu: Reduce latency of rcu_prepare_for_idle()
      rcu: Eliminate RCU_FAST_NO_HZ grace-period hang
      rcu: Avoid needlessly IPIing CPUs at GP end
Commits on Jan 5, 2012
  1. @chucklever

    NFS: Retry mounting NFSROOT

    chucklever authored Trond Myklebust committed
    Lukas Razik <> reports that on his SPARC system,
    booting with an NFS root file system stopped working after commit
    56463e5 "NFS: Use super.c for NFSROOT mount option parsing."
    We found that the network switch to which Lukas' client was attached
    was delaying access to the LAN after the client's NIC driver reported
    that its link was up.  The delay was longer than the timeouts used in
    the NFS client during mounting.
    NFSROOT worked for Lukas before commit 56463e5 because in those
    kernels, the client's first operation was an rpcbind request to
    determine which port the NFS server was listening on.  When that
    request failed after a long timeout, the client simply selected the
    default NFS port (2049).  By that time the switch was allowing access
    to the LAN, and the mount succeeded.
    Neither of these client behaviors is desirable, so reverting 56463e5
    is really not a choice.  Instead, introduce a mechanism that retries
    the NFSROOT mount request several times.  This is the same tactic that
    normal user space NFS mounts employ to overcome server and network
    Signed-off-by: Lukas Razik <>
    [ cel: match kernel coding style, add proper patch description ]
    [ cel: add exponential back-off ]
    Signed-off-by: Chuck Lever <>
    Tested-by: Lukas Razik <>
    Cc: # > 2.6.38
    Signed-off-by: Trond Myklebust <>
Commits on Jan 4, 2012
  1. init/initramfs.c: should use umode_t

    Al Viro authored
    Signed-off-by: Al Viro <>
Commits on Dec 13, 2011
  1. @davem330

    Basic kernel memory functionality for the Memory Controller

    Glauber Costa authored davem330 committed
    This patch lays down the foundation for the kernel memory component
    of the Memory Controller.
    As of today, I am only laying down the following files:
     * memory.independent_kmem_limit
     * memory.kmem.limit_in_bytes (currently ignored)
     * memory.kmem.usage_in_bytes (always zero)
    Signed-off-by: Glauber Costa <>
    CC: Kirill A. Shutemov <>
    CC: Paul Menage <>
    CC: Greg Thelen <>
    CC: Johannes Weiner <>
    CC: Michal Hocko <>
    Signed-off-by: David S. Miller <>
Commits on Dec 11, 2011
  1. @paulmck

    rcu: Permit RCU_FAST_NO_HZ to be used by TREE_PREEMPT_RCU

    Paul E. McKenney authored paulmck committed
    The new implementation of RCU_FAST_NO_HZ is compatible with preemptible
    RCU, so this commit removes the Kconfig restriction that previously
    prohibited this.
    Signed-off-by: Paul E. McKenney <>
    Reviewed-by: Josh Triplett <>
Commits on Dec 6, 2011
  1. @sgruszka

    mm, x86: Remove debug_pagealloc_enabled

    sgruszka authored Ingo Molnar committed
    When (no)bootmem finish operation, it pass pages to buddy
    allocator. Since debug_pagealloc_enabled is not set, we will do
    not protect pages, what is not what we want with
    To fix remove debug_pagealloc_enabled. That variable was
    introduced by commit 12d6f21 "x86: do not PSE on
    CONFIG_DEBUG_PAGEALLOC=y" to get more CPA (change page
    attribude) code testing. But currently we have CONFIG_CPA_DEBUG,
    which test CPA.
    Signed-off-by: Stanislaw Gruszka <>
    Acked-by: Mel Gorman <>
    Signed-off-by: Ingo Molnar <>
  2. @ming1

    init/main.c: Execute lockdep_init() as early as possible

    ming1 authored Ingo Molnar committed
    This patch fixes a lockdep warning on ARM platforms:
      [    0.000000] WARNING: lockdep init error! Arch code didn't call lockdep_init() early enough?
      [    0.000000] Call stack leading to lockdep invocation was:
      [    0.000000]  [<c00164bc>] save_stack_trace_tsk+0x0/0x90
      [    0.000000]  [<ffffffff>] 0xffffffff
    The warning is caused by printk inside smp_setup_processor_id().
    It is safe to do this because lockdep_init() doesn't depend on
    smp_setup_processor_id(), so improve things that printk can be
    called as early as possible without lockdep complaint.
    Signed-off-by: Ming Lei <>
    Reviewed-by: Yong Zhang <>
    Signed-off-by: Peter Zijlstra <>
    Cc: Linus Torvalds <>
    Cc: Andrew Morton <>
    Signed-off-by: Ingo Molnar <>
Commits on Dec 5, 2011
  1. x86: Reduce clock calibration time during slave cpu startup

    Jack Steiner authored Ingo Molnar committed
    Reduce the startup time for slave cpus.
    Adds hooks for an arch-specific function for clock calibration.
    These hooks are used on x86.  If a newly started cpu has the
    same phys_proc_id as a core already active, uses the TSC for the
    delay loop and has a CONSTANT_TSC, use the already-calculated
    value of loops_per_jiffy.
    This patch reduces the time required to start slave cpus on a
    4096 cpu system from: 465 sec OLD 62 sec NEW
    This reduces boot time on a 4096p system by almost 7 minutes.
    Signed-off-by: Jack Steiner <>
    Cc: "H. Peter Anvin" <>
    Cc: John Stultz <>
    [fix CONFIG_SMP=n build]
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Ingo Molnar <>
Commits on Nov 7, 2011
  1. @torvalds

    Merge branch 'upstream/jump-label-noearly' of git://…

    torvalds authored
    * 'upstream/jump-label-noearly' of git://
      jump-label: initialize jump-label subsystem much earlier
      x86/jump_label: add arch_jump_label_transform_static()
      s390/jump-label: add arch_jump_label_transform_static()
      jump_label: add arch_jump_label_transform_static() to optimise non-live code updates
      sparc/jump_label: drop arch_jump_label_text_poke_early()
      x86/jump_label: drop arch_jump_label_text_poke_early()
      jump_label: if a key has already been initialized, don't nop it out
      stop_machine: make stop_machine safe and efficient to call early
      jump_label: use proper atomic_t initializer
     - arch/x86/kernel/jump_label.c
    	Added __init_or_module to arch_jump_label_text_poke_early vs
    	removal of that function entirely
     - kernel/stop_machine.c
    	same patch ("stop_machine: make stop_machine safe and efficient
    	to call early") merged twice, with whitespace fix in one version
Commits on Nov 2, 2011
  1. @torvalds

    sysctl: make CONFIG_SYSCTL_SYSCALL default to n

    WANG Cong authored torvalds committed
    When I tried to send a patch to remove it, Andi told me we still need to
    keep compabitlies for old libc, so we can't remove this completely.  Then
    just make it default to n and remove the doc from
    Signed-off-by: WANG Cong <>
    Cc: Eric Biederman <>
    Cc: Andi Kleen <>
    Cc: Alexey Dobriyan <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
  2. @redpig @torvalds

    init: add root=PARTUUID=UUID/PARTNROFF=%d support

    redpig authored torvalds committed
    Expand root=PARTUUID=UUID syntax to support selecting a root partition by
    integer offset from a known, unique partition.  This approach provides
    similar properties to specifying a device and partition number, but using
    the UUID as the unique path prior to evaluating the offset.
    For example,
    selects the partition with UUID 99DE.. then select the next
    This change is motivated by a particular usecase in Chromium OS where the
    bootloader can easily determine what partition it is on (by UUID) but
    doesn't perform general partition table walking.
    That said, support for this model provides a direct mechanism for the user
    to modify the root partition to boot without specifically needing to
    extract each UUID or update the bootloader explicitly when the root
    partition UUID is changed (if it is recreated to be larger, for instance).
     Pinning to a /boot-style partition UUID allows the arbitrary root
    partition reconfiguration/modifications with slightly less ambiguity than
    just [dev][partition] and less stringency than the specific root partition
    [ fix init sections warning]
    Signed-off-by: Will Drewry <>
    Cc: Kay Sievers <>
    Cc: Randy Dunlap <>
    Cc: Namhyung Kim <>
    Cc: Trond Myklebust <>
    Cc: Jens Axboe <>
    Signed-off-by: Stephen Rothwell <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
  3. @superna9999 @torvalds

    init/do_mounts_rd.c: fix ramdisk identification for padded cramfs

    superna9999 authored torvalds committed
    When a cramfs ramdisk padded with 512 bytes is given to the kernel, the
    current identify_ramdisk_image function fails to identify it.
    Tested with a padded cramfs image on an ARM based board.
    Signed-off-by: Neil Armstrong <>
    Cc: Namhyung Kim <>
    Cc: Davidlohr Bueso <>
    Cc: Al Viro <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
Commits on Oct 26, 2011
  1. @torvalds

    Merge branch 'sched-core-for-linus' of git://…

    torvalds authored
    * 'sched-core-for-linus' of git:// (46 commits)
      llist: Add back llist_add_batch() and llist_del_first() prototypes
      sched: Don't use tasklist_lock for debug prints
      sched: Warn on rt throttling
      sched: Unify the ->cpus_allowed mask copy
      sched: Wrap scheduler p->cpus_allowed access
      sched: Request for idle balance during nohz idle load balance
      sched: Use resched IPI to kick off the nohz idle balance
      sched: Fix idle_cpu()
      llist: Remove cpu_relax() usage in cmpxchg loops
      sched: Convert to struct llist
      llist: Add llist_next()
      irq_work: Use llist in the struct irq_work logic
      llist: Return whether list is empty before adding in llist_add()
      llist: Move cpu_relax() to after the cmpxchg()
      llist: Remove the platform-dependent NMI checks
      llist: Make some llist functions inline
      sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch
      sched: Remove redundant test in check_preempt_tick()
      sched: Add documentation for bandwidth control
      sched: Return unused runtime on group dequeue
  2. @torvalds

    Merge branch 'core-rcu-for-linus' of git://…

    torvalds authored
    * 'core-rcu-for-linus' of git:// (45 commits)
      rcu: Move propagation of ->completed from rcu_start_gp() to rcu_report_qs_rsp()
      rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states
      rcu: Wire up RCU_BOOST_PRIO for rcutree
      rcu: Make rcu_torture_boost() exit loops at end of test
      rcu: Make rcu_torture_fqs() exit loops at end of test
      rcu: Permit rt_mutex_unlock() with irqs disabled
      rcu: Avoid having just-onlined CPU resched itself when RCU is idle
      rcu: Suppress NMI backtraces when stall ends before dump
      rcu: Prohibit grace periods during early boot
      rcu: Simplify unboosting checks
      rcu: Prevent early boot set_need_resched() from __rcu_pending()
      rcu: Dump local stack if cannot dump all CPUs' stacks
      rcu: Move __rcu_read_unlock()'s barrier() within if-statement
      rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation
      rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier
      rcu: Make rcu_implicit_dynticks_qs() locals be correct size
      rcu: Eliminate in_irq() checks in rcu_enter_nohz()
      nohz: Remove nohz_cpu_mask
      rcu: Document interpretation of RCU-lockdep splats
      rcu: Allow rcutorture's stat_interval parameter to be changed at runtime
  3. @michich @rustyrussell

    params: make dashes and underscores in parameter names truly equal

    michich authored rustyrussell committed
    The user may use "foo-bar" for a kernel parameter defined as "foo_bar".
    Make sure it works the other way around too.
    Apply the equality of dashes and underscores on early_params and __setup
    params as well.
    The example given in Documentation/kernel-parameters.txt indicates that
    this is the intended behaviour.
    With the patch the kernel accepts "log-buf-len=1M" as expected.
    Signed-off-by: Michal Schmidt <>
    Signed-off-by: Rusty Russell <> (neatened implementations)
Commits on Oct 25, 2011
  1. jump-label: initialize jump-label subsystem much earlier

    Jeremy Fitzhardinge authored
    Initialize jump_labels much, much earlier, so they're available for use
    during system setup.
    Signed-off-by: Jeremy Fitzhardinge <>
    Acked-by: Peter Zijlstra <>
Commits on Oct 4, 2011
  1. Merge branch 'linus' into sched/core

    Ingo Molnar authored
    Merge reason: pick up the latest fixes.
    Signed-off-by: Ingo Molnar <>
Commits on Oct 1, 2011
Commits on Sep 30, 2011
  1. @udknight @torvalds

    bootup: move 'usermodehelper_enable()' a little earlier

    udknight authored torvalds committed
    Commit d5767c5 ("bootup: move 'usermodehelper_enable()' to the end
    of do_basic_setup()") moved 'usermodehelper_enable()' to end of
    do_basic_setup() to after the initcalls.  But then I get failed to let
    uvesafb work on my computer, and lose the splash boot.
    So maybe we could start usermodehelper_enable a little early to make
    some task work that need eary init with the help of user mode.
    [ I would *really* prefer that initcalls not call into user space - even
      the real 'init' hasn't been execve'd yet, after all! But for uvesafb
      it really does look like we don't have much choice.
      I considered doing this when we mount the root filesystem, but
      depending on config options that is in multiple places.  We could do
      the usermode helper enable as a rootfs_initcall()..
      So I'm just using wang yanqing's trivial patch.  It's not wonderful,
      but it's simple and should work.  We should revisit this some day,
      though.      - Linus ]
    Signed-off-by: Linus Torvalds <>
Commits on Sep 29, 2011
  1. @paulmck

    rcu: Drive configuration directly from SMP and PREEMPT

    paulmck authored
    This commit eliminates the possibility of running TREE_PREEMPT_RCU
    when SMP=n and of running TINY_RCU when PREEMPT=y.  People who really
    want these combinations can hand-edit init/Kconfig, but eliminating
    them as choices for production systems reduces the amount of testing
    required.  It will also allow cutting out a few #ifdefs.
    Note that running TREE_RCU and TINY_RCU on single-CPU systems using
    SMP-built kernels is still supported.
    Signed-off-by: Paul E. McKenney <>
Commits on Sep 28, 2011
  1. @torvalds

    bootup: move 'usermodehelper_enable()' to the end of do_basic_setup()

    torvalds authored
    Doing it just before starting to call into cpu_idle() made a sick kind
    of sense only because the original bug we fixed (see commit
    288d5ab: "Boot up with usermodehelper disabled") was about problems
    with some scheduler data structures not being initialized, and they had
    better be initialized at that point.
    But it really didn't make any other conceptual sense, and doing it after
    the initial "schedule()" call for the idle thread actually opened up a
    race: what if the main initialization thread did everything without
    needing to sleep, and got all the way into user land too? Without
    actually having scheduled back to the idle thread?
    Now, in normal circumstances that doesn't ever happen, but it looks like
    Richard Cochran triggered exactly that on his ARM IXP4xx machines:
      "I have some ARM IXP4xx based machines that use the two on chip MAC
       ports (aka NPEs).  The NPE needs a firmware in order to function.
       Ever since the following commit [that 288d5ab one], it is no
       longer possible to bring up the interfaces during the init scripts."
    with a call trace showing an ioctl coming from user space. Richard says:
      "The init is busybox, and the startup script does mount, syslogd, and
       then ifup, so that all can go by quickly."
    The fix is to move the usermodehelper_enable() into the main 'init'
    thread, and just put it after we've done all our initcalls.  By then,
    everything really should be up, but we've obviously not actually started
    the user-mode portion of init yet.
    Reported-and-tested-by: Richard Cochran <>
    Signed-off-by: Linus Torvalds <>
Something went wrong with that request. Please try again.