22 May, 2012

3 commits

  • Pull smp hotplug cleanups from Thomas Gleixner:
    "This series is merily a cleanup of code copied around in arch/* and
    not changing any of the real cpu hotplug horrors yet. I wish I'd had
    something more substantial for 3.5, but I underestimated the lurking
    horror..."

    Fix up trivial conflicts in arch/{arm,sparc,x86}/Kconfig and
    arch/sparc/include/asm/thread_info_32.h

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)
    um: Remove leftover declaration of alloc_task_struct_node()
    task_allocator: Use config switches instead of magic defines
    sparc: Use common threadinfo allocator
    score: Use common threadinfo allocator
    sh-use-common-threadinfo-allocator
    mn10300: Use common threadinfo allocator
    powerpc: Use common threadinfo allocator
    mips: Use common threadinfo allocator
    hexagon: Use common threadinfo allocator
    m32r: Use common threadinfo allocator
    frv: Use common threadinfo allocator
    cris: Use common threadinfo allocator
    x86: Use common threadinfo allocator
    c6x: Use common threadinfo allocator
    fork: Provide kmemcache based thread_info allocator
    tile: Use common threadinfo allocator
    fork: Provide weak arch_release_[task_struct|thread_info] functions
    fork: Move thread info gfp flags to header
    fork: Remove the weak insanity
    sh: Remove cpu_idle_wait()
    ...

    Linus Torvalds
     
  • Pull RCU changes from Ingo Molnar:
    "This is the v3.5 RCU tree from Paul E. McKenney:

    1) A set of improvements and fixes to the RCU_FAST_NO_HZ feature (with
    more on the way for 3.6). Posted to LKML:
    https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),
    https://lkml.org/lkml/2012/4/16/611 (commit 4),
    https://lkml.org/lkml/2012/4/30/390 (commit 6), and
    https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with
    the other commits for the convenience of the tester).

    2) Changes to make rcu_barrier() avoid disrupting execution of CPUs
    that have no RCU callbacks. Posted to LKML:
    https://lkml.org/lkml/2012/4/23/322.

    3) A couple of commits that improve the efficiency of the interaction
    between preemptible RCU and the scheduler, these two being all that
    survived an abortive attempt to allow preemptible RCU's
    __rcu_read_lock() to be inlined. The full set was posted to LKML at
    https://lkml.org/lkml/2012/4/14/143, and the first and third patches
    of that set remain.

    4) Lai Jiangshan's algorithmic implementation of SRCU, which includes
    call_srcu() and srcu_barrier(). A major feature of this new
    implementation is that synchronize_srcu() no longer disturbs the
    execution of other CPUs. This work is based on earlier
    implementations by Peter Zijlstra and Paul E. McKenney. Posted to
    LKML: https://lkml.org/lkml/2012/2/22/82.

    5) A number of miscellaneous bug fixes and improvements which were
    posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with
    subsequent updates posted to LKML."

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
    rcu: Make rcu_barrier() less disruptive
    rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
    rcu: Make RCU_FAST_NO_HZ handle timer migration
    rcu: Update RCU maintainership
    rcu: Make exit_rcu() more precise and consolidate
    rcu: Move PREEMPT_RCU preemption to switch_to() invocation
    rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU
    rcu: Add rcutorture test for call_srcu()
    rcu: Implement per-domain single-threaded call_srcu() state machine
    rcu: Use single value to handle expedited SRCU grace periods
    rcu: Improve srcu_readers_active_idx()'s cache locality
    rcu: Remove unused srcu_barrier()
    rcu: Implement a variant of Peter's SRCU algorithm
    rcu: Improve SRCU's wait_idx() comments
    rcu: Flip ->completed only once per SRCU grace period
    rcu: Increment upper bit only for srcu_read_lock()
    rcu: Remove fast check path from __synchronize_srcu()
    rcu: Direct algorithmic SRCU implementation
    rcu: Introduce rcutorture testing for rcu_barrier()
    timer: Fix mod_timer_pinned() header comment
    ...

    Linus Torvalds
     
  • During early boot, when the scheduler hasn't really been fully set up,
    we really can't do blocking allocations because with certain (dubious)
    configurations the "might_resched()" calls can actually result in
    scheduling events.

    We could just make such users always use GFP_ATOMIC, but quite often the
    code that does the allocation isn't really aware of the fact that the
    scheduler isn't up yet, and forcing that kind of random knowledge on the
    initialization code is just annoying and not good for anybody.

    And we actually have a the 'gfp_allowed_mask' exactly for this reason:
    it's just that the kernel init sequence happens to set it to allow
    blocking allocations much too early.

    So move the 'gfp_allowed_mask' initialization from 'start_kernel()'
    (which is some of the earliest init code, and runs with preemption
    disabled for good reasons) into 'kernel_init()'. kernel_init() is run
    in the newly created thread that will become the 'init' process, as
    opposed to the early startup code that runs within the context of what
    will be the first idle thread.

    So by the time we reach 'kernel_init()', we know that the scheduler must
    be at least limping along, because we've already scheduled from the idle
    thread into the init thread.

    Reported-by: Steven Rostedt
    Cc: David Rientjes
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 May, 2012

1 commit

  • …/linux-rcu into core/rcu

    Pull the v3.5 RCU tree from Paul E. McKenney:

    1) A set of improvements and fixes to the RCU_FAST_NO_HZ feature
    (with more on the way for 3.6). Posted to LKML:
    https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),
    https://lkml.org/lkml/2012/4/16/611 (commit 4),
    https://lkml.org/lkml/2012/4/30/390 (commit 6), and
    https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with
    the other commits for the convenience of the tester).

    2) Changes to make rcu_barrier() avoid disrupting execution of CPUs
    that have no RCU callbacks. Posted to LKML:
    https://lkml.org/lkml/2012/4/23/322.

    3) A couple of commits that improve the efficiency of the interaction
    between preemptible RCU and the scheduler, these two being all
    that survived an abortive attempt to allow preemptible RCU's
    __rcu_read_lock() to be inlined. The full set was posted to
    LKML at https://lkml.org/lkml/2012/4/14/143, and the first and
    third patches of that set remain.

    4) Lai Jiangshan's algorithmic implementation of SRCU, which includes
    call_srcu() and srcu_barrier(). A major feature of this new
    implementation is that synchronize_srcu() no longer disturbs
    the execution of other CPUs. This work is based on earlier
    implementations by Peter Zijlstra and Paul E. McKenney. Posted to
    LKML: https://lkml.org/lkml/2012/2/22/82.

    5) A number of miscellaneous bug fixes and improvements which were
    posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with
    subsequent updates posted to LKML.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

08 May, 2012

1 commit


06 May, 2012

1 commit

  • Currently, we'll try mounting any device who's major device number is
    UNNAMED_MAJOR as NFS root. This would happen for non-NFS devices as
    well (such as 9p devices) but it wouldn't cause any issues since
    mounting the device as NFS would fail quickly and the code proceeded to
    doing the proper mount:

    [ 101.522716] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 101.534499] VFS: Mounted root (9p filesystem) on device 0:18.

    Commit 6829a048102a ("NFS: Retry mounting NFSROOT") introduced retries
    when mounting NFS root, which means that now we don't immediately fail
    and instead it takes an additional 90+ seconds until we stop retrying,
    which has revealed the issue this patch fixes.

    This meant that it would take an additional 90 seconds to boot when
    we're not using a device type which gets detected in order before NFS.

    This patch modifies the NFS type check to require device type to be
    'Root_NFS' instead of requiring the device to have an UNNAMED_MAJOR
    major. This makes boot process cleaner since we now won't go through
    the NFS mounting code at all when the device isn't an NFS root
    ("/dev/nfs").

    Signed-off-by: Sasha Levin
    Signed-off-by: Linus Torvalds

    Sasha Levin
     

05 May, 2012

2 commits

  • Now that all archs except ia64 are converted, replace the config and
    let the ia64 select CONFIG_ARCH_INIT_TASK

    Signed-off-by: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20120503085035.867948914@linutronix.de

    Thomas Gleixner
     
  • All archs define init_task in the same way (except ia64, but there is
    no particular reason why ia64 cannot use the common version). Create a
    generic instance so all archs can be converted over.

    The config switch is temporary and will be removed when all archs are
    converted over.

    Signed-off-by: Thomas Gleixner
    Cc: Benjamin Herrenschmidt
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: David Howells
    Cc: David S. Miller
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hirokazu Takata
    Cc: James E.J. Bottomley
    Cc: Jesper Nilsson
    Cc: Jonas Bonn
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Matt Turner
    Cc: Michal Simek
    Cc: Mike Frysinger
    Cc: Paul Mundt
    Cc: Ralf Baechle
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Russell King
    Cc: Yoshinori Sato
    Link: http://lkml.kernel.org/r/20120503085034.092585287@linutronix.de

    Thomas Gleixner
     

25 Apr, 2012

3 commits

  • Commit 026cee0086f had the side-effect of dropping the '=' from
    the unknown boot arguments that are passed to init as environment
    variables. This is because parse_args() puts a NUL in the string
    where the '=' was when it passes the "param" and "val" pointers
    to the parsing subfunctions. Previously, unknown_bootoption() was
    the last parse_args() subfunction to run, and it carefully put back
    the '=' character. Now the ignore_unknown_bootoption() is the last
    one to run, and it wasn't doing the necessary repair, so the
    envp params ended up with the embedded NUL and were no longer
    seen as valid environment variables by init.

    Tested-by: Woody Suwalski
    Acked-by: Pawel Moll
    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Commit #0209f649 (rcu: limit rcu_node leaf-level fanout) set an upper
    limit of 16 on the leaf-level fanout for the rcu_node tree. This was
    needed to reduce lock contention that was induced by the synchronization
    of scheduling-clock interrupts, which was in turn needed to improve
    energy efficiency for moderate-sized lightly loaded servers.

    However, reducing the leaf-level fanout means that there are more
    leaf-level rcu_node structures in the tree, which in turn means that
    RCU's grace-period initialization incurs more cache misses. This is
    not a problem on moderate-sized servers with only a few tens of CPUs,
    but becomes a major source of real-time latency spikes on systems with
    many hundreds of CPUs. In addition, the workloads running on these large
    systems tend to be CPU-bound, which eliminates the energy-efficiency
    advantages of synchronizing scheduling-clock interrupts. Therefore,
    these systems need maximal values for the rcu_node leaf-level fanout.

    This commit addresses this problem by introducing a new kernel parameter
    named RCU_FANOUT_LEAF that directly controls the leaf-level fanout.
    This parameter defaults to 16 to handle the common case of a moderate
    sized lightly loaded servers, but may be set higher on larger systems.

    Reported-by: Mike Galbraith
    Reported-by: Dimitri Sivanich
    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • The old text confused real-time applications with real-time threads, so
    that you pretty much needed to understand how this kernel configuration
    parameter worked to understand the help text. This commit therefore
    attempts to make the help text human-readable.

    Reported-by: Jörn Engel
    Signed-off-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     

02 Apr, 2012

1 commit

  • Pull cpumask cleanups from Rusty Russell:
    "(Somehow forgot to send this out; it's been sitting in linux-next, and
    if you don't want it, it can sit there another cycle)"

    I'm a sucker for things that actually delete lines of code.

    Fix up trivial conflict in arch/arm/kernel/kprobes.c, where Rusty fixed
    a user of &cpu_online_map to be cpu_online_mask, but that code got
    deleted by commit b21d55e98ac2 ("ARM: 7332/1: extract out code patch
    function from kprobes").

    * tag 'for-linus' of git://github.com/rustyrussell/linux:
    cpumask: remove old cpu_*_map.
    documentation: remove references to cpu_*_map.
    drivers/cpufreq/db8500-cpufreq: remove references to cpu_*_map.
    remove references to cpu_*_map in arch/

    Linus Torvalds
     

01 Apr, 2012

2 commits


29 Mar, 2012

3 commits

  • This has been obsolescent for a while, fix documentation and
    misc comments.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Move all declarations of free_initmem() to linux/mm.h so that there's only one
    and it's used by everything.

    Signed-off-by: David Howells
    cc: linux-c6x-dev@linux-c6x.org
    cc: microblaze-uclinux@itee.uq.edu.au
    cc: linux-sh@vger.kernel.org
    cc: sparclinux@vger.kernel.org
    cc: x86@kernel.org
    cc: linux-mm@kvack.org

    David Howells
     

26 Mar, 2012

1 commit

  • This patch adds a set of macros that can be used to declare
    kernel parameters to be parsed _before_ initcalls at a chosen
    level are executed. We rename the now-unused "flags" field of
    struct kernel_param as the level. It's signed, for when we
    use this for early params as well, in future.

    Linker macro collating init calls had to be modified in order
    to add additional symbols between levels that are later used
    by the init code to split the calls into blocks.

    Signed-off-by: Pawel Moll
    Signed-off-by: Rusty Russell

    Pawel Moll
     

24 Mar, 2012

2 commits

  • Printing the error code makes it easier to debug the cause of a mount
    failure. For example I had the problem that the root file system could
    not be mounted read-writeable because my SD card was write-protected.
    Without an error code it looks like the SD card was not detected at all.

    Signed-off-by: Bernhard Walle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Otherwise the 'Calibration skipped' message gets printed everytime a CPU
    is hotplugged in, cluttering console for systems that frequently hotplug
    CPUs.

    Signed-off-by: Diwakar Tundlam
    Cc: Phil Carmody
    Cc: Russell King
    Cc: Greg KH
    Cc: Sameer Nanda
    Cc: Peter De Schrijver
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Diwakar Tundlam
     

22 Mar, 2012

1 commit

  • Pull powerpc merge from Benjamin Herrenschmidt:
    "Here's the powerpc batch for this merge window. It is going to be a
    bit more nasty than usual as in touching things outside of
    arch/powerpc mostly due to the big iSeriesectomy :-) We finally got
    rid of the bugger (legacy iSeries support) which was a PITA to
    maintain and that nobody really used anymore.

    Here are some of the highlights:

    - Legacy iSeries is gone. Thanks Stephen ! There's still some bits
    and pieces remaining if you do a grep -ir series arch/powerpc but
    they are harmless and will be removed in the next few weeks
    hopefully.

    - The 'fadump' functionality (Firmware Assisted Dump) replaces the
    previous (equivalent) "pHyp assisted dump"... it's a rewrite of a
    mechanism to get the hypervisor to do crash dumps on pSeries, the
    new implementation hopefully being much more reliable. Thanks
    Mahesh Salgaonkar.

    - The "EEH" code (pSeries PCI error handling & recovery) got a big
    spring cleaning, motivated by the need to be able to implement a
    new backend for it on top of some new different type of firwmare.

    The work isn't complete yet, but a good chunk of the cleanups is
    there. Note that this adds a field to struct device_node which is
    not very nice and which Grant objects to. I will have a patch soon
    that moves that to a powerpc private data structure (hopefully
    before rc1) and we'll improve things further later on (hopefully
    getting rid of the need for that pointer completely). Thanks Gavin
    Shan.

    - I dug into our exception & interrupt handling code to improve the
    way we do lazy interrupt handling (and make it work properly with
    "edge" triggered interrupt sources), and while at it found & fixed
    a wagon of issues in those areas, including adding support for page
    fault retry & fatal signals on page faults.

    - Your usual random batch of small fixes & updates, including a bunch
    of new embedded boards, both Freescale and APM based ones, etc..."

    I fixed up some conflicts with the generalized irq-domain changes from
    Grant Likely, hopefully correctly.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (141 commits)
    powerpc/ps3: Do not adjust the wrapper load address
    powerpc: Remove the rest of the legacy iSeries include files
    powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces
    init: Remove CONFIG_PPC_ISERIES
    powerpc: Remove FW_FEATURE ISERIES from arch code
    tty/hvc_vio: FW_FEATURE_ISERIES is no longer selectable
    powerpc/spufs: Fix double unlocks
    powerpc/5200: convert mpc5200 to use of_platform_populate()
    powerpc/mpc5200: add options to mpc5200_defconfig
    powerpc/mpc52xx: add a4m072 board support
    powerpc/mpc5200: update mpc5200_defconfig to fit for charon board
    Documentation/powerpc/mpc52xx.txt: Checkpatch cleanup
    powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board
    powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board
    MAINTAINERS: Update PowerPC 4xx tree
    powerpc/44x: The bug fixed support for APM821xx SoC and Bluestone board
    powerpc: document the FSL MPIC message register binding
    powerpc: add support for MPIC message register API
    powerpc/fsl: Added aliased MSIIR register address to MSI node in dts
    powerpc/85xx: mpc8548cds - add 36-bit dts
    ...

    Linus Torvalds
     

21 Mar, 2012

3 commits

  • Pull trivial tree from Jiri Kosina:
    "It's indeed trivial -- mostly documentation updates and a bunch of
    typo fixes from Masanari.

    There are also several linux/version.h include removals from Jesper."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)
    kcore: fix spelling in read_kcore() comment
    constify struct pci_dev * in obvious cases
    Revert "char: Fix typo in viotape.c"
    init: fix wording error in mm_init comment
    usb: gadget: Kconfig: fix typo for 'different'
    Revert "power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c"
    writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header
    writeback: fix typo in the writeback_control comment
    Documentation: Fix multiple typo in Documentation
    tpm_tis: fix tis_lock with respect to RCU
    Revert "media: Fix typo in mixer_drv.c and hdmi_drv.c"
    Doc: Update numastat.txt
    qla4xxx: Add missing spaces to error messages
    compiler.h: Fix typo
    security: struct security_operations kerneldoc fix
    Documentation: broken URL in libata.tmpl
    Documentation: broken URL in filesystems.tmpl
    mtd: simplify return logic in do_map_probe()
    mm: fix comment typo of truncate_inode_pages_range
    power: bq27x00: Fix typos in comment
    ...

    Linus Torvalds
     
  • It is no longer selectable, so remove the check for it.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Benjamin Herrenschmidt

    Stephen Rothwell
     
  • Pull scheduler changes for v3.4 from Ingo Molnar

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
    printk: Make it compile with !CONFIG_PRINTK
    sched/x86: Fix overflow in cyc2ns_offset
    sched: Fix nohz load accounting -- again!
    sched: Update yield() docs
    printk/sched: Introduce special printk_sched() for those awkward moments
    sched/nohz: Correctly initialize 'next_balance' in 'nohz' idle balancer
    sched: Cleanup cpu_active madness
    sched: Fix load-balance wreckage
    sched: Clean up parameter passing of proc_sched_autogroup_set_nice()
    sched: Ditch per cgroup task lists for load-balancing
    sched: Rename load-balancing fields
    sched: Move load-balancing arguments into helper struct
    sched/rt: Do not submit new work when PI-blocked
    sched/rt: Prevent idle task boosting
    sched/wait: Add __wake_up_all_locked() API
    sched/rt: Document scheduler related skip-resched-check sites
    sched/rt: Use schedule_preempt_disabled()
    sched/rt: Add schedule_preempt_disabled()
    sched/rt: Do not throttle when PI boosting
    sched/rt: Keep period timer ticking when rt throttling is active
    ...

    Linus Torvalds
     

15 Mar, 2012

1 commit


01 Mar, 2012

1 commit


22 Feb, 2012

1 commit


18 Jan, 2012

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit: (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.

    Linus Torvalds
     
  • 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
    (http://lists.fedoraproject.org/pipermail/arm/2009-October/000382.html)
    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

    Nathaniel Husted
     
  • 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

    Eric Paris
     

15 Jan, 2012

1 commit

  • Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1

    * tag 'for-linus' of git://github.com/rustyrussell/linux:
    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.

    Linus Torvalds
     

13 Jan, 2012

2 commits

  • For checkpoint/restore we need auxilary features being compiled into the
    kernel, such as additional prctl codes, /proc//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

    Cyrill Gorcunov
     
  • module_param(bool) used to counter-intuitively take an int. In
    fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
    trick.

    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

    Rusty Russell
     

12 Jan, 2012

3 commits

  • * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Fix lockup by limiting load-balance retries on lock-break
    sched: Fix CONFIG_CGROUP_SCHED dependency
    sched: Remove empty #ifdefs

    Linus Torvalds
     
  • * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    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

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    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

    Linus Torvalds
     

11 Jan, 2012

1 commit

  • * 'nfs-for-3.3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    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

    Linus Torvalds
     

10 Jan, 2012

1 commit

  • 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: a.p.zijlstra@chello.nl
    Cc: Fabio Estevam
    Link: http://lkml.kernel.org/r/1326192383-5113-1-git-send-email-festevam@gmail.com
    Signed-off-by: Ingo Molnar

    Fabio Estevam
     

09 Jan, 2012

1 commit

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

    Linus Torvalds
     

07 Jan, 2012

1 commit