1. 21 Aug, 2011 1 commit
    • David S. Miller's avatar
      sparc: Allow handling signals when stack is corrupted. · 5598473a
      David S. Miller authored
      If we can't push the pending register windows onto the user's stack,
      we disallow signal delivery even if the signal would be delivered on a
      valid seperate signal stack.
      
      Add a register window save area in the signal frame, and store any
      unsavable windows there.
      
      On sigreturn, if any windows are still queued up in the signal frame,
      try to push them back onto the stack and if that fails we kill the
      process immediately.
      
      This allows the debug/tst-longjmp_chk2 glibc test case to pass.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5598473a
  2. 19 Aug, 2011 1 commit
    • Ian Campbell's avatar
      sparc: fix array bounds error setting up PCIC NMI trap · 4a0342ca
      Ian Campbell authored
        CC      arch/sparc/kernel/pcic.o
      arch/sparc/kernel/pcic.c: In function 'pcic_probe':
      arch/sparc/kernel/pcic.c:359:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:359:8: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:360:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:360:8: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:361:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:361:8: error: array subscript is above array bounds [-Werror=array-bounds]
      cc1: all warnings being treated as errors
      
      I'm not particularly familiar with sparc but t_nmi (defined in head_32.S via
      the TRAP_ENTRY macro) and pcic_nmi_trap_patch (defined in entry.S) both appear
      to be 4 instructions long and I presume from the usage that instructions are
      int sized.
      Signed-off-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: sparclinux@vger.kernel.org
      Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a0342ca
  3. 15 Aug, 2011 3 commits
    • David S. Miller's avatar
      sparc64: Set HAVE_C_RECORDMCOUNT · 178a2960
      David S. Miller authored
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      178a2960
    • Mikael Pettersson's avatar
      sparc32: unbreak arch_write_unlock() · 3f6aa0b1
      Mikael Pettersson authored
      The sparc32 version of arch_write_unlock() is just a plain assignment.
      Unfortunately this allows the compiler to schedule side-effects in a
      protected region to occur after the HW-level unlock, which is broken.
      E.g., the following trivial test case gets miscompiled:
      
      	#include <linux/spinlock.h>
      	rwlock_t lock;
      	int counter;
      	void foo(void) { write_lock(&lock); ++counter; write_unlock(&lock); }
      
      Fixed by adding a compiler memory barrier to arch_write_unlock().  The
      sparc64 version combines the barrier and assignment into a single asm(),
      and implements the operation as a static inline, so that's what I did too.
      
      Compile-tested with sparc32_defconfig + CONFIG_SMP=y.
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f6aa0b1
    • Mikael Pettersson's avatar
      sparc64: remove unnecessary macros from spinlock_64.h · a0fba3eb
      Mikael Pettersson authored
      The sparc64 spinlock_64.h contains a number of operations defined
      first as static inline functions, and then as macros with the same
      names and parameters as the functions.  Maybe this was needed at
      some point in the past, but now nothing seems to depend on these
      macros (checked with a recursive grep looking for ifdefs on these
      names).  Other archs don't define these identity-macros.
      
      So this patch deletes these unnecessary macros.
      
      Compile-tested with sparc64_defconfig.
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a0fba3eb
  4. 13 Aug, 2011 6 commits
    • Linus Torvalds's avatar
      Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6 · 73e0881d
      Linus Torvalds authored
      * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
        dt: add empty of_get_property for non-dt
      73e0881d
    • Linus Torvalds's avatar
      Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · e211bc8d
      Linus Torvalds authored
      * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (30 commits)
        USB: Serial: Add PID(0xF7C0) to FTDI SIO driver for a zeitcontrol-device
        USB: Serial: Add device ID for Sierra Wireless MC8305
        USB: Serial: Added device ID for Qualcomm Modem in Sagemcom's HiLo3G
        usb/host/pci-quirks.c: correct annotation of `ehci_dmi_nohandoff_table'
        USB: option driver: add PID for Vodafone-Huawei K4511
        USB: option driver: add PID for Vodafone-Huawei K4510
        USB: option driver: add PID for Vodafone-Huawei K3771
        USB: option driver: add PID for Vodafone-Huawei K3770
        usb: serial: ftdi_sio.c: For the FT232H FTDI_SIO_SET_BAUDRATE_REQUEST, index needs to be shifted too
        usb/isp1760: Added missing call to usb_hcd_check_unlink_urb() during unlink
        USB: EHCI: Fix test mode sequence
        USB: ftdi_sio: fix minor typo in get_ftdi_divisor
        USB: at91_udc: include linux/prefetch.h explicitly
        USB: usb-storage: unusual_devs entry for ARM V2M motherboard.
        usb/ehci-mxc: add missing inclusion of mach/hardware.h
        USB: assign instead of equal in usbtmc.c
        usb: renesas_usbhs: fixup usbhsg_for_each_uep 1st pos
        usb: renesas_usbhs: fix DMA build by including dma-mapping.h
        usb: gadget: net2272 - Correct includes
        usb: musb: fix oops on musb_gadget_pullup
        ...
      e211bc8d
    • Linus Torvalds's avatar
      Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 8c70aac0
      Linus Torvalds authored
      * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
        zcache: Fix build error when sysfs is not defined
        zcache: Use div_u64 for 64-bit division
        staging:rts_pstor: fix thread synchronization flow
        drivers:staging:solo6x10:add the missed slab.h
        staging: zcache: include module.h for MODULE_LICENSE
        drivers/staging/hv/blkvsc_drv.c: eliminate NULL pointer dereference
        Staging: Add clk API note to nvec/TODO
        drivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c: adjust array index
        staging: more missing slab.h inclusions
        drivers/staging/solo6x10/p2m.c needs slab.h
        drivers/staging/solo6x10/core.c needs slab.h
        drivers/staging/dt3155v4l/dt3155v4l.c needs slab.h
        drivers/staging/speakup/devsynth.c: fix "buffer size is not provably correct" error
        Staging: iio: add some unlocks to raw_read() functions
        staging: ft1000_proc needs asm/io.h for inw/outw on sparc
        staging: rtl8192u: declare MODULE_FIRMWARE
        gma500: Fix clashes with DRM updates
        staging: zcache: module is GPL
        staging: fix zcache building
      8c70aac0
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip · 06e727d2
      Linus Torvalds authored
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip:
        x86-64: Rework vsyscall emulation and add vsyscall= parameter
        x86-64: Wire up getcpu syscall
        x86: Remove unnecessary compile flag tweaks for vsyscall code
        x86-64: Add vsyscall:emulate_vsyscall trace event
        x86-64: Add user_64bit_mode paravirt op
        x86-64, xen: Enable the vvar mapping
        x86-64: Work around gold bug 13023
        x86-64: Move the "user" vsyscall segment out of the data segment.
        x86-64: Pad vDSO to a page boundary
      06e727d2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · e68ff9cd
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: replace xfs_buf_geterror() with bp->b_error
        xfs: Check the return value of xfs_buf_read() for NULL
        "xfs: fix error handling for synchronous writes" revisited
        xfs: set cursor in xfs_ail_splice() even when AIL was empty
        xfs: Remove the macro XFS_BUFTARG_NAME
        xfs: Remove the macro XFS_BUF_TARGET
        xfs: Remove the macro XFS_BUF_SET_TARGET
        Replace the macro XFS_BUF_ISPINNED with helper xfs_buf_ispinned
        xfs: Remove the macro XFS_BUF_SET_PTR
        xfs: Remove the macro XFS_BUF_PTR
        xfs: Remove macro XFS_BUF_SET_START
        xfs: Remove macro XFS_BUF_HOLD
        xfs: Remove macro XFS_BUF_BUSY and family
        xfs: Remove the macro XFS_BUF_ERROR and family
        xfs: Remove the macro XFS_BUF_BFLAGS
      e68ff9cd
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc · c44efbaa
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (32 commits)
        ARM: mmp: Change the way we use timer 0 as clockevent timer.
        ARM: mmp: Switch to using timer 1 as clocksource timer.
        ARM: mmp: Also start timer 1 on boot.
        ARM: pxa168/gplugd: free correct GPIO
        ARM: pxa168/gplugd: get rid of mfp-gplugd.h
        ARM: pxa: fix logic error in PJ4 iWMMXt handling
        mach-sa1100: fix PCI build problem
        omap: timer: Set dmtimer used as clocksource in autoreload mode
        OMAP3: am3517crane: remove NULL board_mux from board file
        arm: mach-omap2: mux: use kstrdup()
        arch:arm:plat-omap:iovmm: remove unused variable 'va'
        Update Nook Color machine 3284 to common Encore name
        am3505/3517: Various platform defines for UART4
        OMAP: hwmod: fix build break on non-OMAP4 multi-OMAP2 builds
        OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds
        iMX: Fix build for iMX53
        ARM: mx5: board-cpuimx51.c fixup irq_to_gpio() usage
        OMAP2+: PM: SmartReflex: use put_sync_suspend for IRQ-safe disabling
        OMAP3: beagle: don't touch omap_device internals
        OMAP1: enable GENERIC_IRQ_CHIP
        ...
      c44efbaa
  5. 12 Aug, 2011 12 commits
  6. 11 Aug, 2011 17 commits