1. 10 Nov, 2007 27 commits
  2. 09 Nov, 2007 13 commits
    • David Miller's avatar
      [FUTEX] Fix address computation in compat code. · 3c5fd9c7
      David Miller authored
      
      
      compat_exit_robust_list() computes a pointer to the
      futex entry in userspace as follows:
      
      	(void __user *)entry + futex_offset
      
      'entry' is a 'struct robust_list __user *', and
      'futex_offset' is a 'compat_long_t' (typically a 's32').
      
      Things explode if the 32-bit sign bit is set in futex_offset.
      
      Type promotion sign extends futex_offset to a 64-bit value before
      adding it to 'entry'.
      
      This triggered a problem on sparc64 running 32-bit applications which
      would lock up a cpu looping forever in the fault handling for the
      userspace load in handle_futex_death().
      
      Compat userspace runs with address masking (wherein the cpu zeros out
      the top 32-bits of every effective address given to a memory operation
      instruction) so the sparc64 fault handler accounts for this by
      zero'ing out the top 32-bits of the fault address too.
      
      Since the kernel properly uses the compat_uptr interfaces, kernel side
      accesses to compat userspace work too since they will only use
      addresses with the top 32-bit clear.
      
      Because of this compat futex layer bug we get into the following loop
      when executing the get_user() load near the top of handle_futex_death():
      
      1) load from address '0xfffffffff7f16bd8', FAULT
      2) fault handler clears upper 32-bits, processes fault
         for address '0xf7f16bd8' which succeeds
      3) goto #1
      
      I want to thank Bernd Zeimetz, Josip Rodin, and Fabio Massimo Di Nitto
      for their tireless efforts helping me track down this bug.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c5fd9c7
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 · 8fc543c8
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
        [IA64] IOSAPIC bogus error cleanup
        [IA64] Update printing of feature set bits
        [IA64] Fix IOSAPIC delivery mode setting
        [IA64] XPC heartbeat timer function must run on CPU 0
        [IA64] Clean up /proc/interrupts output
        [IA64] Disable/re-enable CPE interrupts on Altix
        [IA64] Clean-up McKinley Errata message
        [IA64] Add gate.lds to list of files ignored by Git
        [IA64] Fix section mismatch in contig.c version of per_cpu_init()
        [IA64] Wrong args to memset in efi_gettimeofday()
        [IA64] Remove duplicate includes from ia32priv.h
        [IA64] fix number of bytes zeroed by sys_fw_init() in arch/ia64/hp/sim/boot/fw-emu.c
        [IA64] Fix perfmon sysctl directory modes
      8fc543c8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched · a70a9322
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
        sched: proper prototype for kernel/sched.c:migration_init()
        sched: avoid large irq-latencies in smp-balancing
        sched: fix copy_namespace() <-> sched_fork() dependency in do_fork
        sched: clean up the wakeup preempt check, #2
        sched: clean up the wakeup preempt check
        sched: wakeup preemption fix
        sched: remove PREEMPT_RESTRICT
        sched: turn off PREEMPT_RESTRICT
        KVM: fix !SMP build error
        x86: make nmi_cpu_busy() always defined
        x86: make ipi_handler() always defined
        sched: cleanup, use NSEC_PER_MSEC and NSEC_PER_SEC
        sched: reintroduce SMP tunings again
        sched: restore deterministic CPU accounting on powerpc
        sched: fix delay accounting regression
        sched: reintroduce the sched_min_granularity tunable
        sched: documentation: place_entity() comments
        sched: fix vslice
      a70a9322
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 · a80b824f
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits)
        sh: remove dead config symbols from SH code
        sh: Kill off broken snapgear ds1302 code.
        sh: Add a dummy vga.h.
        rtc: rtc-sh: Zero out tm value for invalid rtc states.
        rtc: sh-rtc: Handle rtc_device_register() failure properly.
        sh: Fix heartbeart on Solution Engine series
        sh: Remove SCI_NPORTS from sh-sci.h
        sh: Fix up PAGE_KERNEL_PCC() for nommu.
        sh: hs7751rvoip: Kill off dead IPR IRQ mappings.
        sh: hs7751rvoip: irq.c needs linux/interrupt.h.
        sh: Kill off __{copy,clear}_user_page().
        sh: Optimized copy_{to,from}_user_page() for SH-4.
        sh: Wire up clear_user_highpage().
        sh: Kill off the remaining ST40 cruft.
        superhyway: Handle device_register() retval properly.
        sh: kgdb sysrq depends on magic sysrq.
        sh: Add -Werror for clean directories.
        sh: Fix up kgdb build with modular sh-sci.
        sh: Export __{s,u}divsi3_i4i on all CPUs.
        sh: Fix up kgdb-on-NMI branch target.
        ...
      a80b824f
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 45ff993d
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] pxa: fix one-shot timer mode
        [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode.
        [ARM] 4644/2: fix flush_kern_tlb_range() in module space
        [ARM] Allow watchdog drivers to be selected again
        [ARM] 4633/1: omap build fix when FB enabled
        [ARM] 4642/2: netX: default config for netx based boards
        [ARM] 4641/2: netX: fix kobject_name type
        [ARM] Fix iop3xx macro
      45ff993d
    • Linus Torvalds's avatar
      cb834e7c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 4c31c303
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        Add UNPLUG traces to all appropriate places
        block: fix requeue handling in blk_queue_invalidate_tags()
        mmc: Fix sg helper copy-and-paste error
        pktcdvd: fix BUG caused by sysfs module reference semantics change
        ioprio: allow sys_ioprio_set() value of 0 to reset ioprio setting
        cfq_idle_class_timer: add paranoid checks for jiffies overflow
        cfq: fix IOPRIO_CLASS_IDLE delays
        cfq: fix IOPRIO_CLASS_IDLE accounting
      4c31c303
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · c4888f9f
      Linus Torvalds authored
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (37 commits)
        [POWERPC] EEH: Make sure warning message is printed
        [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC
        [POWERPC] windfarm: Fix windfarm thread freezer interaction
        [POWERPC] Fix si_addr value on low level hash failures
        [POWERPC] Refresh ppc64_defconfig and enable pasemi-related options
        [POWERPC] pasemi: Update defconfig
        [POWERPC] iSeries: Fix ref counting in vio setup
        [POWERPC] ] Fix memset size error
        [POWERPC] Fix link errors for allyesconfig
        [POWERPC] iSeries_init_IRQ non-PCI tidy
        [POWERPC] Change fallocate to match unistd.h on powerpc
        [POWERPC] EEH: Avoid crash on null device
        [POWERPC] EEH: Drivers that need reset trump others
        [POWERPC] EEH: Clean up comments
        [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
        [POWERPC] Fix switch_slb handling of 1T ESID values
        [POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined
        [POWERPC] Include udbg.h when using udbg_printf
        [POWERPC] Fix cache line vs. block size confusion
        [POWERPC] Fix sysctl table check failure on PowerMac
        ...
      c4888f9f
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 · e36aeee6
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
        ocfs2: fix rename vs unlink race
        [PATCH] Fix possibly too long write in o2hb_setup_one_bio()
        ocfs2: fix write() performance regression
        ocfs2: Commit journal on sync writes
        ocfs2: Re-order iput in ocfs2_drop_dentry_lock
        ocfs2: Create locks at initially requested level
        [PATCH] Fix priority mistakes in fs/ocfs2/{alloc.c, dlmglue.c}
        [2.6 patch] make ocfs2_find_entry_el() static
      e36aeee6
    • Alan Cox's avatar
      frv: Remove bogus NO_IRQ = -1 define · b2f051ae
      Alan Cox authored
      
      
      The old NO_IRQ define some platforms had was long ago declared obsolete
      and wrong. FRV should therefore not be re-introducing this, especially as
      IRQs are usually unsigned in the kernel. The "no IRQ" case is defined to be
      zero and Linus made this rather clear at the time.
      
      arch/frv shows no dependancy on this but it might show up driver fixes
      needing doing I guess
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b2f051ae
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 · a90fcf31
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: Use "is_power_of_2" macro for simplicity.
        [SPARC]: Remove duplicate includes.
      a90fcf31
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · c5b875e3
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits)
        [NETLINK]: Fix unicast timeouts
        [INET]: Remove per bucket rwlock in tcp/dccp ehash table.
        [IPVS]: Synchronize closing of Connections
        [IPVS]: Bind connections on stanby if the destination exists
        [NET]: Remove Documentation/networking/pt.txt
        [NET]: Remove Documentation/networking/routing.txt
        [NET]: Remove Documentation/networking/ncsa-telnet
        [NET]: Remove comx driver docs.
        [NET]: Remove Documentation/networking/Configurable
        [NET]: Clean proto_(un)register from in-code ifdefs
        [IPSEC]: Fix crypto_alloc_comp error checking
        [VLAN]: Fix SET_VLAN_INGRESS_PRIORITY_CMD ioctl
        [NETNS]: Fix compiler error in net_namespace.c
        [TTY]: Use tty_mode_ioctl() in network drivers.
        [TTY]: Fix network driver interactions with TCGET/SET calls.
        [PKT_SCHED] CLS_U32: Fix endianness problem with u32 classifier hash masks.
        [NET]: Removing duplicit #includes
        [NET]: Let USB_USBNET always select MII.
        [RRUNNER]: Do not muck with sysctl_{r,w}mem_max
        [DLM] lowcomms: Do not muck with sysctl_rmem_max.
        ...
      c5b875e3
    • Linus Torvalds's avatar