19 Aug, 2007

25 commits

  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • With commit ab144f5ec64c42218a555ec1dbde6b60cf2982d6 the patching code
    now collects the complete new instruction stream into a temp buffer
    before finally patching in the new insns. In some cases the paravirt
    patchers will choose to leave the patch site unpatched (length mismatch,
    clobbers mismatch, etc).

    This causes the new patching code to copy an uninitialized temp buffer,
    i.e. garbage, to the callsite. Simply make sure to always initialize
    the buffer with the original instruction stream. A better fix is to
    audit all the patchers and return proper length so that apply_paravirt()
    can skip copies when we leave the patch site untouched.

    Signed-off-by: Chris Wright
    Signed-off-by: Linus Torvalds

    Chris Wright
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 4549/1: KS8695: Fix build errors
    [ARM] 4546/1: s3c2410: fix architecture typo for s3c2442
    [ARM] 4544/1: arm: fix section mismatch in pxa fb

    Linus Torvalds
     
  • Very old 64bit binutils have .cfi_startproc/endproc, but
    no .cfi_rel_offset. Check for .cfi_rel_offset too.

    Cc: Jan Beulich
    Cc: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Very old binutils (2.12.90...) seem to have trouble with newlines
    in assembler macro invocation. They put them into the resulting
    argument expansion. In this case this lead to a parse error because
    a .rept expression ended up spread over multiple lines. Change the PMDS()
    invocation to a single line.

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Fixed wrong expression which enabled watchdogs even if nmi_watchdog kernel
    parameter wasn't set. This regression got slightly introduced with commit
    b7471c6da94d30d3deadc55986cc38d1ff57f9ca.

    Introduced NMI_DISABLED (-1) which allows to switch the value of NMI_DEFAULT
    without breaking the APIC NMI watchdog code (again).

    Fixes:
    https://bugzilla.novell.com/show_bug.cgi?id=298084
    http://bugzilla.kernel.org/show_bug.cgi?id=7839
    And likely some more nmi_watchdog=0 related issues.

    Signed-off-by: Daniel Gollub
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Daniel Gollub
     
  • This should fix an oops with PCMCIA PATA devices

    http://bugzilla.kernel.org/show_bug.cgi?id=8424

    This is not a full fix for the problem, but probably
    still the right thing to do.

    [ I'm almost certain it's *not* the right thing to do, but it avoids an
    oops, and I want comments from others on what the right thing would
    actually be.. I suspect we should just remove the use of dma_mask
    entirely in this function, and just use coherent_dma_mask. - Linus ]

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • If the forcedeth driver receives too much work in an interrupt, it
    assumes it has a broken hardware with stuck IRQ. It works around the
    problem by disabling interrupts on the nic but makes a printk while
    holding device spinlog - which isn't smart thing to do if you have
    netconsole on the same nic.

    This patch moves the printk's out of the spinlock protected area.

    Without this patch the machine hangs hard. With this patch everything
    still works even when there is significant increase on CPU usage while
    using the nic.

    Signed-off-by: Timo Jantunen
    Signed-off-by: Linus Torvalds

    Timo Jantunen
     
  • Use cpu_relax() in the busy loops, as atomic_read() doesn't automatically
    imply volatility for i386 and x86_64. x86_64 doesn't have this issue because
    it open-codes the while loop in smpboot.c:smp_callin() itself that already
    uses cpu_relax().

    For i386, however, smpboot.c:smp_callin() calls wait_for_init_deassert()
    which is buggy for mach-default and mach-es7000 cases.

    [ I test-built a kernel -- smp_callin() itself got inlined in its only
    callsite, smpboot.c:start_secondary() -- and the relevant piece of
    code disassembles to the following:

    0xc1019704 : mov 0xc144c4c8,%eax
    0xc1019709 : test %eax,%eax
    0xc101970b : je 0xc1019709

    init_deasserted (at 0xc144c4c8) gets fetched into %eax only once and
    then we loop over the test of the stale value in the register only,
    so these look like real bugs to me. With the fix below, this becomes:

    0xc1019706 : pause
    0xc1019708 : cmpl $0x0,0xc144c4c8
    0xc101970f : je 0xc1019706

    which looks nice and healthy. ]

    Thanks to Heiko Carstens for noticing this.

    Signed-off-by: Satyam Sharma
    Cc: Heiko Carstens
    Signed-off-by: Linus Torvalds

    Satyam Sharma
     
  • Signed-off-by: Jan Engelhardt
    Signed-off-by: Stefan Richter (edited MACINTOSH_DRIVERS per Geert Uytterhoeven's remark)
    Signed-off-by: Linus Torvalds

    Jan Engelhardt
     
  • The lguest block device only requests one minor, which means
    partitions don't work (eg "root=/dev/lgba1").

    Let's follow the crowd and ask for 16.

    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6:
    sh64: arch/sh64/kernel/setup.c: duplicate include removal.
    sh64: arch/sh64/kernel/signal.c: duplicate include removal
    sh64: Add missing dma_sync_single_for_*().

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
    sh: remove extraneous ; on scif_sercon_putc wait loop
    sh: Add missing dma_sync_single_range_for_*().
    sh: panic on machvec section misalignment.
    sh: Fix PTRACE_PEEKTEXT/PEEKDATA fallout from generic_ptrace_peekdata().

    Linus Torvalds
     
  • * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6:
    hwmon: (smsc47m1) restore missing name attribute
    hwmon: (w83627ehf) don't assume bank 0
    hwmon: (w83627ehf) read fan_div values during probe
    hwmon: fix w83781d temp sensor type setting

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    Cross-compilation between e.g. i386 -> 64bit could break -> work around it
    [IA64] Enable early console for Ski simulator
    [IA64] forbid ptrace changes psr.ri to 3
    [IA64] Failure to grow RBS
    [IA64] Fix processor_get_freq
    [IA64] SGI Altix : fix a force_interrupt bug on altix
    [IA64] Update arch/ia64/configs/* s/SLAB/SLUB/
    [IA64] get back PT_IA_64_UNWIND program header
    [IA64] need NOTES in vmlinux.lds.S
    [IA64] make unwinder stop at last frame of the bootloader
    [IA64] Clean up CPE handler registration
    [IA64] Include Kconfig.preempt
    [IA64] SN2 needs platform specific irq_to_vector() function.
    [IA64] Use atomic64_read to read an atomic64_t.
    [IA64] disable irq's and check need_resched before safe_halt

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    SELinux: correct error code in selinux_audit_rule_init

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/mlx4: Incorrect semicolon after if statement
    mlx4_core: Wait 1 second after reset before accessing device
    IPoIB: Fix leak in ipoib_transport_dev_init() error path
    IB/mlx4: Fix opcode returned in RDMA read completion
    IB/srp: Add OUI for new Cisco targets
    IB/srp: Wrap OUI checking for workarounds in helper functions
    RDMA/cxgb3: Always call low level send function via cxgb3_ofld_send()
    IB: Move the macro IB_UMEM_MAX_PAGE_CHUNK() to umem.c
    IB: Include and from
    IB: Include from
    IB/mad: Fix address handle leak in mad_rmpp
    IB/mad: agent_send_response() should be void
    IB/mad: Fix memory leak in switch handling in ib_mad_recv_done_handler()
    IB/mad: Fix error path if response alloc fails in ib_mad_recv_done_handler()
    IB/sa: Don't need to check for default P_Key twice
    IB/core: Ignore membership bit in ib_find_pkey()

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [MATH-EMU]: Fix underflow exception reporting.
    [SPARC64]: Create a HWCAP_SPARC_N2 and report it to userspace on Niagara-2.
    [SPARC64]: SMP trampoline needs to avoid %tick_cmpr on sun4v too.
    [SPARC64]: Do not touch %tick_cmpr on sun4v cpus.
    [SPARC64]: Niagara-2 optimized copies.
    [SPARC64]: Allow userspace to get at the machine description.
    [SPARC32]: Remove superfluous 'kernel_end' alignment on sun4c.
    [SPARC32]: Fix bogus ramdisk image location check.
    [SPARC32]: Remove iommu from struct sbus_bus and use archdata like sparc64.

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [IPv6]: Invalid semicolon after if statement
    [NET]: Fix unbalanced rcu_read_unlock in __sock_create
    [VLAN] net/8021q/vlanproc.c: fix check-after-use
    [NET]: Unexport dev_ethtool
    [IOAT]: Remove redundant struct member to avoid descriptor cache miss
    [ECONET]: remove econet_packet_type on unload
    [AX25]: don't free pointers to statically allocated data
    [PATCH] mac80211: probe for hidden SSIDs in pre-auth scan
    [PATCH] mac80211: fix tx status frame code
    [BRIDGE]: Fix typo in net/bridge/br_stp_if.c
    [BRIDGE]: sysfs locking fix.
    [NETFILTER]: nf_nat_sip: don't drop short packets
    [NETFILTER]: nf_conntrack_sip: fix SIP-URI parsing
    [NETFILTER]: nf_conntrack_sip: check sname != NULL before calling strncmp
    [NETFILTER]: netfilter: xt_u32 bug correction

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    [AVR32] Define mmiowb()
    [AVR32] Fix bogus pte_page() definition
    [AVR32] Simplify pte_alloc_one{,_kernel}
    include/asm-avr32/pgalloc.h: kmalloc + memset conversion to kcalloc
    [AVR32] Wire up i2c-gpio on the ATNGW100 board
    [AVR32] leds-gpio for stk1000

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Fix invalid semicolon after if statement
    [POWERPC] ps3: Fix no storage devices found
    [POWERPC] Fix for assembler -g
    [POWERPC] Fix small race in 44x tlbie function
    [POWERPC] Remove unused code causing a compile warning
    [POWERPC] cell: Fix errno for modular spufs_create with invalid neighbour

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: adjust libata to ignore errors after spinup
    ata_piix: add TECRA M7 to broken suspend list
    pata_hpt{37x|3x2n}: fix clock reporting (take 2)
    pata_hpt37x: actually clock HPT374 with 50 MHz DPLL (take 2)
    pata_artop: fix UDMA5 for AEC6280[R] and UDMA6 for AEC6880[R]
    ata_piix: update map 10b for ich8m
    sata_mv: PCI IDs for Hightpoint RocketRaid 1740/1742
    [libata] pata_isapnp: replace missing module device table

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
    [x86 setup] edd.c: make sure MBR signatures actually get reported
    [x86 setup] Don't use EDD to get the MBR signature
    [x86 setup] The current display page is returned in %bh, not %bl

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] Check return code on failed alloc
    [CIFS] Update CIFS project web site
    [CIFS] Fix hang in find_writable_file

    Linus Torvalds
     
  • This fixes a vulnerability in the "parent process death signal"
    implementation discoverd by Wojciech Purczynski of COSEINC PTE Ltd.
    and iSEC Security Research.

    http://marc.info/?l=bugtraq&m=118711306802632&w=2

    Signed-off-by: Marcel Holtmann
    Signed-off-by: Linus Torvalds

    Marcel Holtmann
     

18 Aug, 2007

4 commits


17 Aug, 2007

5 commits

  • The underflow exception cases were wrong.

    This is one weird area of ieee1754 handling in that the underflow
    behavior changes based upon whether underflow is enabled in the trap
    enable mask of the FPU control register. As a specific case the Sparc
    V9 manual gives us the following description:

    --------------------
    If UFM = 0: Underflow occurs if a nonzero result is tiny and a
    loss of accuracy occurs. Tininess may be detected
    before or after rounding. Loss of accuracy may be
    either a denormalization loss or an inexact result.

    If UFM = 1: Underflow occurs if a nonzero result is tiny.
    Tininess may be detected before or after rounding.
    --------------------

    What this amounts to in the packing case is if we go subnormal,
    we set underflow if any of the following are true:

    1) rounding sets inexact
    2) we ended up rounding back up to normal (this is the case where
    we set the exponent to 1 and set the fraction to zero), this
    should set inexact too
    3) underflow is set in FPU control register trap-enable mask

    The initially discovered example was "DBL_MIN / 16.0" which
    incorrectly generated an underflow. It should not, unless underflow
    is set in the trap-enable mask of the FPU csr.

    Another example, "0x0.0000000000001p-1022 / 16.0", should signal both
    inexact and underflow. The cpu implementations and ieee1754
    literature is very clear about this. This is case #2 above.

    However, if underflow is set in the trap enable mask, only underflow
    should be set and reported as a trap. That is handled properly by the
    prioritization logic in

    arch/sparc{,64}/math-emu/math.c:record_exception().

    Based upon a report and test case from Jakub Jelinek.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • A similar fix to netfilter from Eric Dumazet inspired me to
    look around a bit by using some grep/sed stuff as looking for
    this kind of bugs seemed easy to automate. This is one of them
    I found where it looks like this semicolon is not valid.

    Signed-off-by: Ilpo Järvinen
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Ilpo Järvinen
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • There is a bug in the ia64_do_page_fault code that can cause a failure
    to grow the register backing store, or any mapping that is marked as
    VM_GROWSUP if the mapping is the highest mapped area of memory.

    When the address accessed is below the first mapping the previous mapping
    is returned as NULL, and this case is handled. However, when the address
    accessed is above the highest mapping the vma returned is NULL, this
    case is not handled correctly, and it fails to spot that this access
    might require an existing mapping to grow upwards.

    Signed-off-by: Andrew Burgess
    Signed-off-by: Tony Luck

    Andrew Burgess
     
  • It seems we have gained an extraneous trailing ';' on one of the
    wait loops in scif_sercon_putc(). Although this is completely
    benign as the apparent payload is also the empty statement, it
    invites error in the future. Clean it up now.

    Signed-off-by: Andy Whitcroft
    Signed-off-by: Paul Mundt

    Andy Whitcroft
     

16 Aug, 2007

6 commits