28 Aug, 2009

1 commit

  • Generic support for remapping HPET MSI's by parsing the HPET timer block
    device scope in the ACPI DRHD tables. This is needed for platforms
    supporting interrupt-remapping and MSI capable HPET timer block.

    Signed-off-by: Suresh Siddha
    Cc: David Woodhouse
    Cc: Jesse Barnes
    Cc: Venkatesh Pallipadi
    Cc: Jay Fenlason
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Suresh Siddha
     

22 Aug, 2009

1 commit

  • On 64-bits, using unsigned long when unsigned int suffices
    needlessly creates larger code (due to the need for REX
    prefixes), and most of the logic in hpet.c really doesn't need
    64-bit operations.

    At once this avoids the need for a couple of type casts.

    Signed-off-by: Jan Beulich
    Cc: Shaohua Li
    Cc: Venkatesh Pallipadi
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

12 Aug, 2009

9 commits


11 Aug, 2009

10 commits

  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    SELinux: fix memory leakage in /security/selinux/hooks.c

    Linus Torvalds
     
  • Fix memory leakage in /security/selinux/hooks.c

    The buffer always needs to be freed here; we either error
    out or allocate more memory.

    Reported-by: iceberg
    Signed-off-by: James Morris
    Acked-by: Stephen Smalley

    James Morris
     
  • Commit 783ea7d4eeefe895f2731fe73ac951e94418927b
    (Driver Core: Rework platform suspend/resume, print warning)
    added a warning message printed for platform drivers that use the
    legacy PM callbacks rather than struct dev_pm_ops. Unfortunately,
    this resulted in some confusion and made some people try to convert
    drivers by replacing the old callbacks with struct dev_pm_ops in
    automatic way, which generally is not a good idea.

    Remove the platform device runtime dev_pm_ops warning for now,
    because it's annoying to users and it's not really necessary right
    now.

    [rjw: Modified the changelog to be more informative.]

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • Commit d945cb9cc ("pty: Rework the pty layer to use the normal buffering
    logic") dropped the test for 'tty->stopped' in pty_write_room(), which
    then causes the n_tty line discipline thing to not throttle the data
    properly when the tty is stopped.

    So instead of pausing the write due to the tty being stopped, the ldisc
    layer would go ahead and push it down to the pty. The pty write()
    routine would then refuse to take the data (because it _did_ check
    'stopped'), and the data wouldn't actually be written.

    This whole stopped test should eventually be moved into the tty ldisc
    layer rather than have low-level tty drivers care about these things,
    but right now the fix is to just re-instate the missing pty 'stopped'
    handling.

    Reported-and-tested-by: Artur Skawina
    Cc: Alan Cox
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …x/kernel/git/tip/linux-2.6-tip

    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
    perf_counter: Zero dead bytes from ftrace raw samples size alignment
    perf_counter: Subtract the buffer size field from the event record size
    perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data
    perf_counter: Correct PERF_SAMPLE_RAW output
    perf tools: callchain: Fix bad rounding of minimum rate
    perf_counter tools: Fix libbfd detection for systems with libz dependency
    perf: "Longum est iter per praecepta, breve et efficax per exempla"
    perf_counter: Fix a race on perf_counter_ctx
    perf_counter: Fix tracepoint sampling to be part of generic sampling
    perf_counter: Work around gcc warning by initializing tracepoint record unconditionally
    perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode
    perf tools: callchain: Fix 'perf report' display to be callchain by default
    perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains
    perf record: Fix the -A UI for empty or non-existent perf.data
    perf util: Fix do_read() to fail on EOF instead of busy-looping
    perf list: Fix the output to not include tracepoints without an id
    perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support
    perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale
    perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc)
    perf report: Fix per task mult-counter stat reporting
    ...

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86/irq: Fix move_irq_desc() for nodes without ram

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix serialization in pit_expect_msb()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI hotplug: SGI hotplug: do not use hotplug_slot_attr
    PCI hotplug: SGI hotplug: fix build failure

    Linus Torvalds
     
  • Wei Chong Tan reported a fast-PIT-calibration corner-case:

    | pit_expect_msb() is vulnerable to SMI disturbance corner case
    | in some platforms which causes /proc/cpuinfo to show wrong
    | CPU MHz value when quick_pit_calibrate() jumps to success
    | section.

    I think that the real issue isn't even an SMI - but the fact
    that in the very last iteration of the loop, there's no
    serializing instruction _after_ the last 'rdtsc'. So even in
    the absense of SMI's, we do have a situation where the cycle
    counter was read without proper serialization.

    The last check should be done outside the outer loop, since
    _inside_ the outer loop, we'll be testing that the PIT has
    the right MSB value has the right value in the next iteration.

    So only the _last_ iteration is special, because that's the one
    that will not check the PIT MSB value any more, and because the
    final 'get_cycles()' isn't serialized.

    In other words:

    - I'd like to move the PIT MSB check to after the last
    iteration, rather than in every iteration

    - I think we should comment on the fact that it's also a
    serializing instruction and so 'fences in' the TSC read.

    Here's a suggested replacement.

    Signed-off-by: Linus Torvalds
    Reported-by: "Tan, Wei Chong"
    Tested-by: "Tan, Wei Chong"
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    mm_for_maps: take ->cred_guard_mutex to fix the race with exec
    mm_for_maps: shift down_read(mmap_sem) to the caller
    mm_for_maps: simplify, use ptrace_may_access()

    Linus Torvalds
     

10 Aug, 2009

19 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM

    Linus Torvalds
     
  • Fix the following 'make includecheck' warning:

    arch/mn10300/include/asm/pci.h: linux/mm.h is included more than once.

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Jaswinder Singh Rajput
     
  • clean up type-casting twice. "size_t" is typedef as "unsigned long" in
    64-bit system, and "unsigned int" in 32-bit system, and the intermediate
    cast to 'long' is pointless.

    Signed-off-by: Figo.zhang
    Signed-off-by: Linus Torvalds

    Figo.zhang
     
  • This will register the ioctl range used by nilfs2 file system to the
    table listed in Documentation/ioctl/ioctl-number.txt.

    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     
  • After aligning the ftrace raw samples, there are dead bytes storing
    random data from the stack. We don't want to leak these to userspace,
    then zero these out.

    Before:

    0x2de88 [0x50]: event: 9
    .
    . ... raw event: size 80 bytes
    . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........
    . 0010: 68 01 00 00 68 01 00 00 2c 00 00 00 00 00 00 00 h...h...,......
    . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h..
    . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0....
    . 0040: 68 01 00 00 40 7f 46 81 ff ff ff ff 00 10 1b 7f h...@.F........
    ^ ^ ^ ^
    Leak

    After:

    0x2d318 [0x50]: event: 9
    .
    . ... raw event: size 80 bytes
    . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........
    . 0010: 68 01 00 00 68 01 00 00 68 14 00 00 00 00 00 00 h...h...h......
    . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h..
    . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0....
    . 0040: 68 01 00 00 a0 80 46 81 ff ff ff ff 00 00 00 00 h.....F........
    ^ ^ ^ ^
    Fixed

    Reported-by: Peter Zijlstra
    Signed-off-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith
    LKML-Reference:
    Signed-off-by: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith

    Frederic Weisbecker
     
  • We compute the perf raw sample size by aligning the raw ftrace
    event size plus the buffer size field itself. We do that
    instead of aligning only the perf raw sample size, so that we
    might economize some in some cases.

    But this buffer size field is not stored in the perf raw
    sample, we must then substract its size from the buffer once we
    computed the alignment unless we may get a useless u32 field in
    the buffer.

    Signed-off-by: Frederic Weisbecker
    Acked-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • The problem is minor, but without ->cred_guard_mutex held we can race
    with exec() and get the new ->mm but check old creds.

    Now we do not need to re-check task->mm after ptrace_may_access(), it
    can't be changed to the new mm under us.

    Strictly speaking, this also fixes another very minor problem. Unless
    security check fails or the task exits mm_for_maps() should never
    return NULL, the caller should get either old or new ->mm.

    Signed-off-by: Oleg Nesterov
    Acked-by: Serge Hallyn
    Signed-off-by: James Morris

    Oleg Nesterov
     
  • mm_for_maps() takes ->mmap_sem after security checks, this looks
    strange and obfuscates the locking rules. Move this lock to its
    single caller, m_start().

    Signed-off-by: Oleg Nesterov
    Acked-by: Serge Hallyn
    Signed-off-by: James Morris

    Oleg Nesterov
     
  • It would be nice to kill __ptrace_may_access(). It requires task_lock(),
    but this lock is only needed to read mm->flags in the middle.

    Convert mm_for_maps() to use ptrace_may_access(), this also simplifies
    the code a little bit.

    Also, we do not need to take ->mmap_sem in advance. In fact I think
    mm_for_maps() should not play with ->mmap_sem at all, the caller should
    take this lock.

    With or without this patch, without ->cred_guard_mutex held we can race
    with exec() and get the new ->mm but check old creds.

    Signed-off-by: Oleg Nesterov
    Reviewed-by: Serge Hallyn
    Signed-off-by: James Morris

    Oleg Nesterov
     
  • Raw tracepoint data contains various kernel internals and
    data from other users, so restrict this to CAP_SYS_ADMIN.

    Signed-off-by: Peter Zijlstra
    Acked-by: Frederic Weisbecker
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • PERF_SAMPLE_* output switches should unconditionally output the
    correct format, as they are the only way to unambiguously parse
    the PERF_EVENT_SAMPLE data.

    Signed-off-by: Peter Zijlstra
    Acked-by: Frederic Weisbecker
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • On an iMac G5, the b43 driver is failing to initialise because trying to
    set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM
    in the machine anyway:
    https://bugzilla.redhat.com/show_bug.cgi?id=514787

    We should probably let it succeed if the available RAM in the system
    doesn't exceed the requested limit.

    Signed-off-by: David Woodhouse
    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • * 'for-linus' of git://git.infradead.org/ubi-2.6:
    UBI: compatible fallback in absense of sequence numbers
    UBI: fix double free on error path

    Linus Torvalds
     
  • * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: Avoid redelivery of edge interrupt before next edge
    KVM: MMU: limit rmap chain length
    KVM: ia64: fix build failures due to ia64/unsigned long mismatches
    KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc
    KVM: fix ack not being delivered when msi present
    KVM: s390: fix wait_queue handling
    KVM: VMX: Fix locking imbalance on emulation failure
    KVM: VMX: Fix locking order in handle_invalid_guest_state
    KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages
    KVM: SVM: force new asid on vcpu migration
    KVM: x86: verify MTRR/PAT validity
    KVM: PIT: fix kpit_elapsed division by zero
    KVM: Fix KVM_GET_MSR_INDEX_LIST

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: silence vblank warnings
    drm: silence pointless vblank warning.
    drm: When adding probed modes, preserve duplicate mode types

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_counter: Fix/complete ftrace event records sampling
    perf_counter, ftrace: Fix perf_counter integration
    tracing/filters: Always free pred on filter_add_subsystem_pred() failure
    tracing/filters: Don't use pred on alloc failure
    ring-buffer: Fix memleak in ring_buffer_free()
    tracing: Fix recordmcount.pl to handle sections with only weak functions
    ring-buffer: Fix advance of reader in rb_buffer_peek()
    tracing: do not use functions starting with .L in recordmcount.pl
    ring-buffer: do not disable ring buffer on oops_in_progress
    ring-buffer: fix check of try_to_discard result

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: fix buffer overflow in efi_init()
    x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci
    x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus
    x86: Fix VMI && stack protector

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Fix typos in documentation
    lockdep: Fix file mode of lock_stat
    rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()

    Linus Torvalds