09 Mar, 2007

10 commits

  • Bring defconfig, tiger_defconfig and zx1_defconfig up to date. Also
    sprinkle KEXEC and KDUMP combinations around liberally so that my
    usual regression test builds will see all combinations:

    tiger_defconfig gets KEXEC=y, CRASH_DUMP=n
    zx1_defconfig gets KEXEC=n, CRASH_DUMP=y
    defconfig gets KEXEC=y, CRASH_DUMP=y
    others remain at KEXEC=n, CRASH_DUMP=n

    Signed-off-by: Tony Luck

    Tony Luck
     
  • kdump_find_rsvd_region() is only called by
    reserve_memory() which is in __init, so it seems that
    kdump_find_rsvd_region() should also be in there.

    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Horms
     
  • Running ia64 through sparse gives warnings in the unwind code.

    include/asm-ia64/unwind.h:84:17: error: dubious bitfield without explicit `signed' or `unsigned'

    Make the bitfield explicitly unsigned.

    Signed-off-by: Keith Owens
    Signed-off-by: Tony Luck

    Keith Owens
     
  • The ptrace misses clearing the syscall trace flag.
    The increased syscall overhead is retained after the trace is finished.
    This case happens when strace is terminated by force.

    Signed-off-by: Akiyama, Nobuyuki
    Signed-off-by: Tony Luck

    Akiyama, Nobuyuki
     
  • Grammatical fixes (s/freezed/frozen/)
    Make some variables static
    Change a C++ "//" comment to "/* ... */"

    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Simon Horman
     
  • * Kexec adds some code to arch/ia64/kernel/smp.c which needs ia64_mca_pal_base,
    so the kexec patch (actually the kdump patch) declares this
    per-cpu variable in include/asm-ia64/kexec.h.

    * ia64_mca_pal_base is defined in arch/ia64/kernel/mca.c, so it
    seems to me that it would make a lot more sense to declare it in
    include/asm-ia64/mca.h.

    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Simon Horman
     
  • Function pci_get_legacy_ide_irq is incorrect on ia64. It should return
    irq vector instead of GSI. The fixed number 14 and 15 are just GSI.

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Tony Luck

    Zhang, Yanmin
     
  • * Make use of spaces and tabs consistent
    * Make long line < 80col

    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Horms
     
  • Similar to memory error recovery, when a cache error is consumed
    by a user process terminate the user instead of crashing the system.

    Signed-off-by: Russ Anderson (rja@sgi.com)
    Acked-by: Hidetoshi Seto
    Signed-off-by: Tony Luck

    Russ Anderson
     
  • Jack Steiner noticed that duplicate TLB DTC entries do not cause a
    linux panic. See discussion:

    http://www.gelato.unsw.edu.au/archives/linux-ia64/0307/6108.html

    The current TLB recovery code is recovering from the duplicate itr.d
    dropins, masking the underlying problem. This change modifies
    the MCA recovery code to look for the TLB check signature of the
    duplicate TLB entry and panic in that case.

    Signed-off-by: Russ Anderson (rja@sgi.com)
    Signed-off-by: Tony Luck

    Russ Anderson
     

08 Mar, 2007

30 commits

  • ecryptfs uses a lock_parent() function, which I hope really locks the parents
    and is not abused

    Signed-off-by: Peter Zijlstra
    Cc: Michael Halcrow
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • The sn console driver was snagged by the use of CONFIG_DEBUG_SHIRQ!

    The request_irq() immediate call to the interrupt handler caused
    another attempt to lock the port lock - deadlock.

    This is a patch to fix that.

    Signed-off-by: Patrick Gefre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pat Gefre
     
  • In my previous x86_64 thread fix, I forgot to initialize thread.arch.fs in
    arch_prctl. A process calling arch_prctl to set %fs would lose it on the
    next context switch.

    It also turns out that you can switch to a process which is in the process
    of exiting and which has lost its mm. In this case, it's worse than
    useless to try to call arch_prctl on the host process.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix inverted check introduced in 57881dd9df40b76dc7fc6a0d13fd75f337accb32 "Fix
    check_partition routines".

    Signed-off-by: Suzuki K P
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    suzuki
     
  • IA64 and ARM-OABI are currently using their own version of epoll compat_
    code.

    An architecture needs epoll_event translation if alignof(u64) in 32 bit
    mode is different from alignof(u64) in 64 bit mode. If an architecture
    needs epoll_event translation, it must define struct compat_epoll_event in
    asm/compat.h and set CONFIG_HAVE_COMPAT_EPOLL_EVENT and use
    compat_sys_epoll_ctl and compat_sys_epoll_wait.

    All 64 bit architecture should use compat_sys_epoll_pwait.

    [sfr: restructure and move to fs/compat.c, remove MIPS version
    of compat_sys_epoll_pwait, use __put_user_unaligned]

    Signed-off-by: Stephen Rothwell
    Cc: David Woodhouse
    Cc: Russell King
    Cc: "Luck, Tony"
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     
  • [Bluetooth] Fix socket locking in hci_sock_dev_event()

    hci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.
    This is not deadlock-safe against locking of the same socket lock in
    l2cap_connect_cfm() from softirq context. In addition to that,
    hci_sock_dev_event() doesn't seem to be called from softirq context,
    so it is safe to use lock_sock()/release_sock() instead.

    The lockdep warning can be triggered on my T42p simply by switching
    the Bluetooth off by the keyboard button.

    =================================
    [ INFO: inconsistent lock state ]
    2.6.21-rc2 #4
    ---------------------------------
    inconsistent {in-softirq-W} -> {softirq-on-W} usage.
    khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:
    (slock-AF_BLUETOOTH){-+..}, at: [] hci_sock_dev_event+0xa8/0xc5 [bluetooth]
    {in-softirq-W} state was registered at:
    [] mark_lock+0x59/0x414
    [] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [] __lock_acquire+0x3e5/0xb99
    [] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [] lock_acquire+0x67/0x81
    [] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [] _spin_lock+0x29/0x34
    [] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [] hci_send_cmd+0x126/0x14f [bluetooth]
    [] hci_event_packet+0x729/0xebd [bluetooth]
    [] hci_rx_task+0x2a/0x20f [bluetooth]
    [] hci_rx_task+0x6c/0x20f [bluetooth]
    [] trace_hardirqs_on+0x10d/0x14e
    [] tasklet_action+0x3d/0x68
    [] __do_softirq+0x41/0x92
    [] do_softirq+0x27/0x3d
    [] do_IRQ+0x7b/0x8f
    [] common_interrupt+0x24/0x34
    [] common_interrupt+0x2e/0x34
    [] acpi_processor_idle+0x1b3/0x34a
    [] acpi_processor_idle+0x1b6/0x34a
    [] cpu_idle+0x39/0x4e
    [] start_kernel+0x372/0x37a
    [] unknown_bootoption+0x0/0x202
    [] 0xffffffff

    Signed-off-by: Jiri Kosina
    Acked-by: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Kosina
     
  • Also PTRACE_OLDSETOPTIONS should be accepted, as done by kernel/ptrace.c
    and forced by binary compatibility. UML/32bit breaks because of this -
    since it is wise enough to use PTRACE_OLDSETOPTIONS to be binary compatible
    with 2.4 host kernels.

    Until 2.6.17 (commit f0f2d6536e3515b5b1b7ae97dc8f176860c8c2ce) we had:

    default:
    return sys_ptrace(request, pid, addr, data);

    Instead here we have:
    case PTRACE_GET_THREAD_AREA:
    case ...:
    return sys_ptrace(request, pid, addr, data);

    default:
    return -EINVAL;

    This change was a style change - when a case is added, it must be
    explicitly tested this way. In this case, not enough testing was done.

    Cc: Andi Kleen
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Avoid reusing userspace errno twice - it can be cleared by libc code
    everywhere (in particular printk() does clear it in my setup).

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Avoid returning ENOMEM in case of a duplicate IRQ - ENOMEM was saved into err
    earlier.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Fix confusion about call context - comments and code are inconsistent and
    plain wrong, my fault.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Since both UML consoles do not use percpu variables, they may be called when
    the cpu is still offline, and they may be marked CON_ANYTIME (this is
    documented in kernel/printk.c, grep for CON_ANYTIME to find mentions of this).

    Works well in testing done with lock debug enabled, should be safe but is not
    needed for next release.

    This would probably help also stderr_console.c, but this is yet to test.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • os_usr1_signal() is totally unused, os_usr1_process() is used only by TT mode.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Memory allocated by mcast_user_init must be freed in the matching mcast_remove.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • When a given host directory is specified to be mounted both in hostfs=path1
    and with mount option -o path2, we should give access to path1/path2, but this
    does not happen. Fix that in the simpler way.

    Also, root_ino can be the empty string, since we use %s/%s as format.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Fix double free in the error path - when name is assigned into root_inode we
    do not own it any more and we must not kfree() it - see patch for details.

    Thanks to William Stearns for the initial report.

    CC: William Stearns
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Acked-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
    Input: i8042 - another attempt to fix AUX delivery checks

    Linus Torvalds
     
  • Do not assume that AUX_LOOP command is broken unless it
    completes successfully but returns wrong (unexpected) data.

    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [BRIDGE]: adding new device to bridge should enable if up
    [IPV6]: Do not set IF_READY if device is down
    [IPSEC]: xfrm audit hook misplaced in pfkey_delete and xfrm_del_sa
    [IPSEC]: Add xfrm policy change auditing to pfkey_spdget
    [IPSEC]: xfrm_policy delete security check misplaced
    [CONNECTOR]: Bugfix for cn_call_callback()
    [DCCP]: Revert patch which disables bidirectional mode
    [IPV6]: Handle np->opt being NULL in ipv6_getsockopt_sticky().
    [UDP]: Reread uh pointer after pskb_trim
    [NETFILTER]: nfnetlink_log: fix crash on bridged packet
    [NETFILTER]: nfnetlink_log: zero-terminate prefix
    [NETFILTER]: nf_conntrack_ipv6: fix incorrect classification of IPv6 fragments as ESTABLISHED

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] ARC: Fix several compiler warnings.
    [MIPS] ISA: Fix typo
    [CHAR] ds1286: Fix handling of seconds in RTC_ALM_SET ioctl.

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] fsys_getcpu for IA64
    [IA64] remove duplicate declaration of efi_initialize_iomem_resources
    [IA64] Pick highest possible saved_max_pfn for crash_dump
    [IA64] fix NULL pointer in ia64/irq_chip-mask/unmask function

    Linus Torvalds
     
  • CC arch/mips/arc/init.o
    arch/mips/arc/init.c: In function 'prom_init':
    arch/mips/arc/init.c:27: warning: ISO C90 forbids mixed declarations and code
    arch/mips/arc/init.c:35: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 2 has type 'ULONG'
    arch/mips/arc/init.c:28: warning: unused variable 'c'
    arch/mips/arc/init.c:27: warning: unused variable ‘cnt’

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Lost CONFIG_ prefix discovered by Robert P. J. Day .

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • o Fix use of uninitialized variable sec.
    o Make the RTC_ALM_SET ioctl return -EINVAL for non-zero seconds - the
    DS1286 has no second field for the alarm time.
    o Replace the obscure BIN_TO_BCD macro with BIN2BCD.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • On 1.6GHz Montectio Tiger4, the following performance data is measured with
    kernel built with defconfig which has NUMA configured:

    Fastest sys_getcpu: 502 itc counts.
    Fastest fsys_getcpu: 28 itc counts.

    fsys_getcpu performance is largly impacted by whether data (node_to_cpu_map
    etc) is in cache. It can take fsys_getcpu up to ~150 itc counts in cold
    cache case.

    Signed-off-by: Fenghua Yu
    Signed-off-by: Tony Luck

    Fenghua Yu
     
  • efi_initialize_iomem_resources() is declared in both include/linux/efi.h
    and arch/ia64/kernel/setup.c. This patch removes the latter.

    Signed-off-by: Simon Horman
    Signed-off-by: Tony Luck

    Horms
     
  • Berhhard Walle noted that on his HP rx8640 he ended up with saved_max_pfn
    smaller than the highest address of system ram in /proc/iomem and proposed
    a patch to base the address on the unrounded and unfiltered EFI memory
    map address. Simon Horman and Magnus Damm suggested that the whole test
    be moved earlier in the function. This is the combination of both of
    these patches.

    Signed-off-by: Tony Luck

    Tony Luck
     
  • One change introduced by the workqueue removal patch is that adding an
    interface that is up to a bridge which is also up does not ever call
    br_stp_enable_port(), leaving the port in DISABLED state until we do
    ifconfig down and up or link events occur.

    The following patch to the br_add_if function fixes it.
    This is a regression introduced in 2.6.21.

    Submitted-by: Aji_Srinivas@emc.com
    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Aji Srinivas
     
  • Now that we add the IPv6 device at registration time we don't need
    to set IF_READY in ipv6_add_dev anymore because we will always get
    a NETDEV_UP event later on should the device ever become ready.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Inside pfkey_delete and xfrm_del_sa the audit hooks were not called if
    there was any permission/security failures in attempting to do the del
    operation (such as permission denied from security_xfrm_state_delete).
    This patch moves the audit hook to the exit path such that all failures
    (and successes) will actually get audited.

    Signed-off-by: Eric Paris
    Acked-by: Venkat Yekkirala
    Acked-by: James Morris
    Signed-off-by: David S. Miller

    Eric Paris
     
  • pfkey_spdget neither had an LSM security hook nor auditing for the
    removal of xfrm_policy structs. The security hook was added when it was
    moved into xfrm_policy_byid instead of the callers to that function by
    my earlier patch and this patch adds the auditing hooks as well.

    Signed-off-by: Eric Paris
    Acked-by: Venkat Yekkirala
    Acked-by: James Morris
    Signed-off-by: David S. Miller

    Eric Paris