# git rev-parse -q --verify 5f337e3e5b04b32793fd51adab438d46df99c933^{commit} 5f337e3e5b04b32793fd51adab438d46df99c933 already have revision, skipping fetch # git checkout -q -f -B kisskb 5f337e3e5b04b32793fd51adab438d46df99c933 # git clean -qxdf # git log -1 commit 5f337e3e5b04b32793fd51adab438d46df99c933 Author: Rashmica Gupta Date: Thu Dec 10 20:49:33 2015 +1100 selftests/powerpc: Add test to check if VSRs are corrupted When a transaction is aborted, VSR values should rollback to the checkpointed values before the transaction began. VSRs used elsewhere in the kernel during a transaction, or while the transaction is suspended should not affect the checkpointed values. Prior to the bug fix in commit d31626f70b61 ("powerpc: Don't corrupt transactional state when using FP/VMX in kernel") when VMX was requested by the kernel the .vr_state (which held the checkpointed state of VSRs before the transaction) was overwritten with the current state from outside the transation. Thus if the transaction did not complete, the VSR values would be "rolled back" to potentially incorrect values. Signed-off-by: Rashmica Gupta Signed-off-by: Michael Ellerman # < /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 5f337e3e5b04b32793fd51adab438d46df99c933 # < make -j 240 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- allnoconfig # make -j 240 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[1]: Leaving directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' make[1]: Entering directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h UPD include/config/kernel.release WRAP arch/powerpc/include/generated/asm/rwsem.h CHK include/generated/uapi/linux/version.h WRAP arch/powerpc/include/generated/asm/vtime.h UPD include/generated/uapi/linux/version.h Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc.o CC scripts/mod/empty.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh LD usr/built-in.o CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o AS arch/powerpc/lib/string.o CC init/version.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/lib/alloc.o LD arch/powerpc/sysdev/built-in.o LD arch/powerpc/platforms/built-in.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/lib/ppc_ksyms.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/lib/code-patching.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/checksum_32.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/mm/ppc_mmu_32.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/kernel/syscalls.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/align.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o LD arch/powerpc/net/built-in.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/process.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o LD certs/built-in.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/misc.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/dma.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/entry_32.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o CC arch/powerpc/kernel/prom_parse.o CC arch/powerpc/kernel/setup_32.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/pci_32.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o LD ipc/built-in.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh LDS arch/powerpc/kernel/vdso32/vdso32.lds CC kernel/fork.o AS arch/powerpc/kernel/systbl.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC kernel/exec_domain.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CC security/commoncap.o CC kernel/panic.o CC security/min_addr.o LD crypto/built-in.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o CC kernel/cpu.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o CC kernel/exit.o CC kernel/softirq.o CC kernel/resource.o LD block/built-in.o LD arch/powerpc/lib/built-in.o CC kernel/sysctl.o CC mm/filemap.o CC kernel/sysctl_binary.o CC mm/mempool.o CC kernel/capability.o CC kernel/ptrace.o CC kernel/user.o CC mm/oom_kill.o CC mm/maccess.o CC mm/page_alloc.o CC kernel/signal.o CC mm/page-writeback.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg CC kernel/sys.o CC kernel/kmod.o CC mm/readahead.o CC kernel/workqueue.o OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so CC mm/swap.o CC kernel/pid.o CC mm/truncate.o LD sound/built-in.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC kernel/task_work.o CC mm/vmscan.o CC mm/shmem.o CC kernel/extable.o CC kernel/params.o CC mm/util.o CC fs/open.o CC mm/mmzone.o CC kernel/sys_ni.o CC fs/read_write.o CC kernel/kthread.o LD firmware/built-in.o CC fs/file_table.o CC mm/vmstat.o CC kernel/nsproxy.o CC mm/backing-dev.o CC fs/super.o LD arch/powerpc/kernel/vdso32/built-in.o CC fs/char_dev.o CC mm/mm_init.o CC kernel/notifier.o CC fs/stat.o CC mm/mmu_context.o LD net/built-in.o CC kernel/ksysfs.o CC fs/exec.o CC kernel/cred.o CC mm/percpu.o CC mm/slab_common.o CC kernel/reboot.o CC fs/pipe.o CC mm/compaction.o CC kernel/async.o CC fs/namei.o CC mm/vmacache.o CC kernel/range.o CC kernel/smpboot.o CC mm/interval_tree.o LD kernel/livepatch/built-in.o CC mm/list_lru.o CC fs/fcntl.o CC kernel/up.o CC kernel/elfcore.o CC kernel/power/qos.o CC kernel/dma.o CC fs/ioctl.o CC mm/debug.o CC kernel/memremap.o CC mm/workingset.o CC mm/gup.o CC mm/highmem.o CC fs/readdir.o CC kernel/printk/printk.o CC mm/memory.o CC mm/mincore.o CC fs/select.o CC mm/mlock.o CC fs/dcache.o CC kernel/rcu/update.o CC kernel/rcu/sync.o CC fs/inode.o CC mm/mmap.o CC mm/mprotect.o CC kernel/rcu/tiny.o CC mm/mremap.o CC fs/attr.o CC fs/bad_inode.o CC mm/msync.o CC fs/file.o CC kernel/locking/mutex.o CC fs/filesystems.o CC mm/rmap.o LD arch/powerpc/mm/built-in.o CC kernel/locking/semaphore.o CC kernel/irq/irqdesc.o CC kernel/locking/rwsem.o CC kernel/time/time.o CC fs/namespace.o CC kernel/sched/core.o CC kernel/locking/percpu-rwsem.o CC fs/seq_file.o LD virt/lib/built-in.o CC mm/vmalloc.o CC kernel/sched/loadavg.o CC fs/xattr.o CC kernel/locking/rwsem-xadd.o CC kernel/time/timer.o CC kernel/sched/clock.o CC kernel/time/hrtimer.o CC kernel/irq/handle.o CC kernel/sched/cputime.o CC fs/libfs.o CC kernel/irq/manage.o CC kernel/time/itimer.o CC kernel/irq/spurious.o CC fs/fs-writeback.o CC kernel/sched/idle_task.o CC kernel/time/posix-timers.o CC kernel/irq/resend.o CC mm/pagewalk.o LD virt/built-in.o CC fs/pnode.o CC fs/splice.o CC kernel/irq/chip.o CC kernel/time/posix-cpu-timers.o CC mm/pgtable-generic.o CC kernel/sched/fair.o CC kernel/time/ntp.o CC kernel/sched/rt.o CC kernel/time/timekeeping.o CC mm/init-mm.o CC kernel/irq/devres.o CC kernel/irq/dummychip.o CC fs/sync.o CC mm/nobootmem.o CC kernel/sched/deadline.o CC fs/utimes.o CC kernel/irq/irqdomain.o CC kernel/time/clocksource.o CC fs/stack.o CC mm/memblock.o CC fs/fs_struct.o CC kernel/time/jiffies.o CC mm/dmapool.o CC kernel/sched/stop_task.o CC kernel/sched/wait.o CC kernel/time/timer_list.o CC kernel/sched/completion.o CC mm/slub.o CC fs/statfs.o CC kernel/sched/idle.o CC kernel/time/timeconv.o CC kernel/time/timecounter.o CC fs/fs_pin.o CC kernel/time/posix-clock.o CC fs/nsfs.o CC fs/no-block.o CC kernel/time/alarmtimer.o CC kernel/time/clockevents.o CC kernel/time/tick-common.o CC lib/lockref.o LD fs/devpts/built-in.o CC lib/bcd.o LD fs/exofs/built-in.o CC lib/div64.o CC fs/binfmt_elf.o LD init/mounts.o CC lib/sort.o CC lib/parser.o CC lib/halfmd4.o CC lib/debug_locks.o CC lib/random32.o LD init/built-in.o CC lib/bust_spinlocks.o LD fs/quota/built-in.o CC lib/kasprintf.o CC lib/bitmap.o CC lib/scatterlist.o CC fs/ramfs/inode.o CC lib/gcd.o LD drivers/amba/built-in.o CC lib/lcm.o CC fs/ramfs/file-mmu.o CC lib/uuid.o CC lib/list_sort.o LD drivers/auxdisplay/built-in.o CC lib/flex_array.o CC lib/iov_iter.o LD drivers/block/built-in.o CC lib/clz_ctz.o LD fs/notify/dnotify/built-in.o CC lib/bsearch.o LD fs/notify/fanotify/built-in.o LD drivers/bus/built-in.o LD drivers/cdrom/built-in.o CC lib/find_bit.o CC lib/memweight.o CC lib/llist.o CC lib/kfifo.o LD fs/notify/inotify/built-in.o LD drivers/clocksource/built-in.o CC lib/percpu-refcount.o CC lib/percpu_ida.o LD fs/notify/built-in.o LD drivers/firewire/built-in.o CC lib/rhashtable.o CC lib/reciprocal_div.o CC drivers/char/mem.o LD drivers/clk/bcm/built-in.o LD drivers/gpio/built-in.o CC lib/once.o LD kernel/rcu/built-in.o CC drivers/char/random.o CC drivers/char/misc.o CC lib/string_helpers.o CC lib/hexdump.o LD drivers/char/agp/built-in.o CC lib/kstrtox.o CC lib/pci_iomap.o LD drivers/firmware/broadcom/built-in.o LD drivers/idle/built-in.o LD drivers/clk/built-in.o CC drivers/base/component.o LD drivers/firmware/built-in.o LD drivers/hwtracing/intel_th/built-in.o CC drivers/base/core.o CC lib/iomap_copy.o CC drivers/base/bus.o LD drivers/leds/built-in.o CC lib/devres.o LD drivers/hsi/clients/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/lguest/built-in.o CC drivers/irqchip/irqchip.o LD drivers/hsi/controllers/built-in.o CC drivers/base/syscore.o CC drivers/base/dd.o CC lib/hweight.o CC drivers/base/driver.o LD drivers/macintosh/built-in.o CC drivers/base/class.o CC lib/bitrev.o CC drivers/base/platform.o LD drivers/mmc/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/mfd/built-in.o LD drivers/hsi/built-in.o CC drivers/base/cpu.o HOSTCC lib/gen_crc32table LD drivers/net/built-in.o CC lib/syscall.o LD drivers/nfc/built-in.o CC drivers/base/firmware.o CC lib/atomic64.o LD drivers/i2c/busses/built-in.o CC drivers/base/init.o LD drivers/i2c/muxes/built-in.o CC drivers/base/map.o CC lib/strncpy_from_user.o CC drivers/base/devres.o CC drivers/of/base.o CC drivers/of/device.o CC drivers/base/attribute_container.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/misc/cb710/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o CC lib/strnlen_user.o LD kernel/power/built-in.o CC drivers/base/transport_class.o LD drivers/platform/built-in.o LD drivers/soc/built-in.o LD drivers/pwm/built-in.o LD drivers/i2c/built-in.o CC drivers/base/topology.o LD kernel/locking/built-in.o CC lib/argv_split.o LD drivers/nvme/host/built-in.o CC drivers/base/container.o CC drivers/of/platform.o LD drivers/gpu/drm/panel/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/misc/ti-st/built-in.o CC drivers/of/fdt.o CC drivers/base/property.o LD security/built-in.o CC lib/cmdline.o CC lib/ctype.o CC drivers/of/fdt_address.o LD drivers/nvme/built-in.o CC drivers/base/cacheinfo.o CC lib/dec_and_lock.o LD drivers/gpu/drm/built-in.o CC lib/decompress.o LD drivers/usb/host/built-in.o LD drivers/tty/ipwireless/built-in.o LD drivers/tty/vt/built-in.o CC lib/dump_stack.o CC drivers/of/address.o LD drivers/base/power/built-in.o LD drivers/tty/serial/built-in.o CC drivers/base/dma-mapping.o CC lib/earlycpio.o CC drivers/of/irq.o CC lib/extable.o LD drivers/tty/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/media/firewire/built-in.o LD drivers/usb/built-in.o CC drivers/of/of_pci_irq.o CC drivers/of/of_pci.o CC lib/fdt.o CC drivers/of/of_reserved_mem.o LD drivers/video/backlight/built-in.o CC lib/fdt_empty_tree.o CC drivers/pci/access.o LD drivers/media/i2c/soc_camera/built-in.o CC lib/fdt_ro.o CC drivers/pci/bus.o LD drivers/media/mmc/siano/built-in.o LD drivers/gpu/built-in.o LD kernel/printk/built-in.o CC drivers/pci/probe.o CC lib/fdt_rw.o LD drivers/misc/mic/built-in.o CC drivers/pci/host-bridge.o LD drivers/media/common/b2c2/built-in.o LD drivers/media/mmc/built-in.o CC lib/fdt_strerror.o LD drivers/media/common/saa7146/built-in.o CC lib/fdt_sw.o LD drivers/media/i2c/built-in.o CC drivers/pci/remove.o CC lib/fdt_wip.o LD drivers/media/tuners/built-in.o LD drivers/media/platform/omap/built-in.o CC drivers/pci/pci.o CC lib/flex_proportions.o LD drivers/media/common/siano/built-in.o CC lib/idr.o CC drivers/pci/pci-driver.o LD drivers/media/rc/keymaps/built-in.o CC drivers/pci/search.o LD drivers/misc/built-in.o LD drivers/media/platform/built-in.o CC drivers/video/fbdev/core/fb_notify.o CC drivers/pci/pci-sysfs.o CC lib/int_sqrt.o LD drivers/media/common/built-in.o CC drivers/pci/rom.o CC lib/ioremap.o CC drivers/pci/setup-res.o CC lib/irq_regs.o LD drivers/video/fbdev/omap2/dss/built-in.o CC drivers/pci/irq.o CC lib/is_single_threaded.o CC drivers/pci/vpd.o LD drivers/video/fbdev/omap2/displays-new/built-in.o LD drivers/media/rc/built-in.o CC lib/klist.o LD arch/powerpc/kernel/built-in.o LD drivers/irqchip/built-in.o CC drivers/pci/setup-bus.o CC drivers/pci/vc.o CC lib/kobject.o CC lib/kobject_uevent.o LD drivers/video/fbdev/omap2/built-in.o CC drivers/pci/syscall.o CC drivers/pci/of.o CC lib/md5.o LD drivers/pci/host/built-in.o LD drivers/media/pci/b2c2/built-in.o CC lib/nmi_backtrace.o LD fs/ramfs/ramfs.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/ddbridge/built-in.o CC lib/plist.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/b2c2/built-in.o LD fs/ramfs/built-in.o CC lib/proportions.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/usb/s2255/built-in.o CC lib/radix-tree.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/pci/saa7146/built-in.o CC lib/ratelimit.o LD drivers/media/pci/smipcie/built-in.o CC lib/rbtree.o CC lib/seq_buf.o LD drivers/media/usb/ttusb-budget/built-in.o CC lib/sha1.o LD drivers/media/usb/siano/built-in.o LD drivers/media/pci/ttpci/built-in.o CC lib/show_mem.o LD drivers/media/usb/ttusb-dec/built-in.o CC lib/string.o LD drivers/media/usb/zr364xx/built-in.o CC lib/timerqueue.o LD drivers/media/pci/built-in.o CC lib/vsprintf.o GEN lib/crc32table.h LD drivers/media/usb/built-in.o CC lib/crc32.o LD kernel/irq/built-in.o LD drivers/media/built-in.o LD drivers/video/fbdev/core/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/video/built-in.o LD drivers/char/built-in.o LD drivers/base/built-in.o LD kernel/time/built-in.o LD kernel/sched/built-in.o LD kernel/built-in.o LD drivers/of/built-in.o LD lib/built-in.o LD mm/built-in.o AR lib/lib.a LD fs/built-in.o LD drivers/pci/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc # Build took: 0:00:10.387583