# git rev-parse -q --verify 10528b9c45cfb9e8f45217ef2f5ef8b876bbd3f5^{commit} 10528b9c45cfb9e8f45217ef2f5ef8b876bbd3f5 already have revision, skipping fetch # git checkout -q -f -B kisskb 10528b9c45cfb9e8f45217ef2f5ef8b876bbd3f5 # git clean -qxdf # git log -1 commit 10528b9c45cfb9e8f45217ef2f5ef8b876bbd3f5 Author: Naveen N. Rao Date: Fri Jan 13 22:40:01 2017 +0530 powerpc/bpf: Flush the entire JIT buffer With bpf_jit_binary_alloc(), we allocate at a page granularity and fill the rest of the space with illegal instructions to mitigate BPF spraying attacks, while having the actual JIT'ed BPF program at a random location within the allocated space. Under this scenario, it would be better to flush the entire allocated buffer rather than just the part containing the actual program. We already flush the buffer from start to the end of the BPF program. Extend this to include the illegal instructions after the BPF program. Signed-off-by: Naveen N. Rao Acked-by: Alexei Starovoitov Acked-by: Daniel Borkmann Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 10528b9c45cfb9e8f45217ef2f5ef8b876bbd3f5 # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- make[1]: Entering directory '/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile UPD include/config/kernel.release WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/export.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/irq_regs.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 WRAP arch/powerpc/include/generated/asm/vtime.h WRAP arch/powerpc/include/generated/asm/rwsem.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h Using /home/kisskb/slave/src as source for kernel HOSTCC scripts/sortextable HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/fstree.o SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/data.o CC scripts/mod/empty.o HOSTCC scripts/dtc/util.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s SHIPPED scripts/dtc/dtc-lexer.lex.c HOSTCC scripts/dtc/dtc-lexer.lex.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 CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o LD usr/built-in.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/pgtable.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/ppc_mmu_32.o AS arch/powerpc/mm/hash_low_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/checksum_wrappers.o AS arch/powerpc/lib/crtsavres.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/lib/alloc.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/mmap.o LD arch/powerpc/platforms/built-in.o LD arch/powerpc/math-emu/built-in.o LD arch/powerpc/crypto/built-in.o LD arch/powerpc/net/built-in.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/process.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/idle.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/traps.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/dma.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/prom_parse.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o LDS arch/powerpc/kernel/vdso32/vdso32.lds AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o LD certs/built-in.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC arch/powerpc/kernel/pci_32.o CC arch/powerpc/kernel/pci-common.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o CC arch/powerpc/kernel/pci_of_scan.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/head_32.o VDSO32A arch/powerpc/kernel/vdso32/note.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so LD arch/powerpc/lib/built-in.o LD ipc/built-in.o AS arch/powerpc/kernel/systbl.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC security/min_addr.o CC security/commoncap.o LD crypto/built-in.o CC fs/open.o CC fs/read_write.o CC fs/super.o CC fs/file_table.o CC fs/pipe.o CC fs/exec.o CC fs/ioctl.o CC fs/fcntl.o CC fs/namei.o CC fs/stat.o CC fs/select.o CC fs/bad_inode.o CC fs/char_dev.o CC fs/attr.o CC fs/inode.o LD arch/powerpc/kernel/vdso32/built-in.o CC fs/file.o CC fs/dcache.o CC fs/readdir.o LD block/built-in.o CC fs/namespace.o CC fs/seq_file.o CC fs/filesystems.o CC fs/xattr.o CC kernel/fork.o CC fs/libfs.o CC kernel/exec_domain.o CC fs/fs-writeback.o LD sound/built-in.o CC fs/pnode.o LD arch/powerpc/mm/built-in.o CC kernel/panic.o CC mm/filemap.o CC mm/mempool.o CC kernel/cpu.o CC fs/splice.o LD firmware/built-in.o CC fs/sync.o CC fs/utimes.o LD net/built-in.o CC fs/stack.o LD init/mounts.o CC kernel/exit.o LD init/built-in.o CC kernel/softirq.o CC fs/fs_struct.o CC mm/oom_kill.o CC fs/statfs.o LD virt/lib/built-in.o CC fs/fs_pin.o CC kernel/resource.o LD virt/built-in.o CC fs/nsfs.o CC kernel/sysctl.o CC fs/no-block.o CC kernel/sysctl_binary.o LD fs/devpts/built-in.o CC mm/maccess.o LD fs/exofs/built-in.o LD fs/quota/built-in.o LD drivers/amba/built-in.o CC fs/binfmt_elf.o LD drivers/auxdisplay/built-in.o CC fs/ramfs/inode.o LD drivers/cdrom/built-in.o LD fs/notify/dnotify/built-in.o LD drivers/block/built-in.o CC lib/lockref.o CC lib/bcd.o LD drivers/bus/built-in.o LD fs/notify/inotify/built-in.o LD drivers/char/ipmi/built-in.o LD fs/notify/fanotify/built-in.o CC lib/div64.o LD drivers/clocksource/built-in.o CC drivers/char/mem.o CC kernel/capability.o CC drivers/char/random.o LD drivers/firewire/built-in.o CC lib/sort.o LD fs/notify/built-in.o LD drivers/clk/bcm/built-in.o LD arch/powerpc/kernel/built-in.o CC lib/parser.o CC lib/halfmd4.o LD drivers/hwtracing/intel_th/built-in.o LD drivers/idle/built-in.o LD drivers/clk/mvebu/built-in.o LD drivers/gpu/vga/built-in.o CC mm/page_alloc.o CC lib/random32.o CC lib/bust_spinlocks.o CC lib/debug_locks.o CC drivers/irqchip/irqchip.o CC kernel/ptrace.o CC kernel/user.o CC drivers/base/component.o LD drivers/lguest/built-in.o LD drivers/clk/ti/built-in.o CC lib/kasprintf.o LD drivers/i2c/algos/built-in.o LD drivers/firmware/broadcom/built-in.o CC kernel/signal.o CC kernel/sys.o LD drivers/clk/built-in.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/firmware/meson/built-in.o CC lib/bitmap.o LD drivers/i2c/busses/built-in.o LD drivers/macintosh/built-in.o LD drivers/mfd/built-in.o CC fs/ramfs/file-mmu.o LD drivers/gpu/drm/hisilicon/built-in.o LD security/built-in.o CC kernel/kmod.o LD drivers/mmc/built-in.o LD drivers/firmware/tegra/built-in.o CC kernel/workqueue.o LD drivers/i2c/muxes/built-in.o LD drivers/net/built-in.o LD drivers/nfc/built-in.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/nvme/host/built-in.o LD drivers/firmware/built-in.o CC kernel/pid.o CC lib/scatterlist.o CC kernel/task_work.o LD drivers/i2c/built-in.o CC lib/gcd.o LD drivers/platform/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/misc/cb710/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o CC drivers/of/base.o LD drivers/gpu/drm/panel/built-in.o LD drivers/nvme/target/built-in.o CC kernel/extable.o CC mm/page-writeback.o LD drivers/power/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/ptp/built-in.o CC mm/readahead.o LD drivers/gpu/drm/omapdrm/built-in.o CC mm/swap.o CC kernel/params.o LD drivers/nvme/built-in.o LD drivers/pwm/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/media/firewire/built-in.o CC lib/lcm.o CC lib/list_sort.o LD drivers/misc/ti-st/built-in.o CC drivers/char/misc.o CC drivers/base/core.o LD drivers/gpu/drm/built-in.o LD drivers/misc/mic/bus/built-in.o CC drivers/pci/access.o LD drivers/char/agp/built-in.o CC lib/uuid.o LD drivers/soc/bcm/built-in.o LD drivers/usb/host/built-in.o LD fs/ramfs/ramfs.o LD drivers/media/common/saa7146/built-in.o LD drivers/media/common/b2c2/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/misc/mic/built-in.o LD drivers/media/i2c/soc_camera/built-in.o LD fs/ramfs/built-in.o CC lib/flex_array.o LD drivers/tty/ipwireless/built-in.o LD drivers/video/backlight/built-in.o LD drivers/usb/built-in.o LD drivers/media/i2c/built-in.o LD drivers/media/common/siano/built-in.o LD drivers/misc/built-in.o CC kernel/kthread.o LD drivers/gpu/built-in.o CC kernel/sys_ni.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/soc/built-in.o CC mm/truncate.o LD drivers/irqchip/built-in.o LD drivers/media/common/built-in.o CC mm/vmscan.o CC drivers/base/bus.o CC lib/iov_iter.o CC lib/clz_ctz.o CC drivers/base/dd.o CC lib/find_bit.o CC kernel/nsproxy.o CC kernel/notifier.o CC lib/llist.o CC lib/bsearch.o CC lib/memweight.o LD drivers/tty/serial/built-in.o LD drivers/char/built-in.o CC lib/kfifo.o LD drivers/media/mmc/siano/built-in.o LD drivers/video/fbdev/core/built-in.o LD drivers/media/platform/omap/built-in.o CC drivers/base/syscore.o CC kernel/cred.o CC kernel/ksysfs.o LD drivers/media/mmc/built-in.o CC drivers/base/driver.o LD drivers/tty/vt/built-in.o CC lib/percpu-refcount.o LD drivers/media/spi/built-in.o LD drivers/media/platform/built-in.o CC lib/percpu_ida.o LD drivers/tty/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/tuners/built-in.o CC kernel/reboot.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/rhashtable.o LD drivers/media/rc/built-in.o CC lib/reciprocal_div.o CC kernel/async.o CC kernel/range.o CC lib/string_helpers.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC kernel/smpboot.o CC lib/once.o CC lib/hexdump.o CC lib/kstrtox.o CC lib/pci_iomap.o LD drivers/media/pci/b2c2/built-in.o CC kernel/ucount.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC lib/iomap_copy.o LD kernel/livepatch/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/pci/dm1105/built-in.o CC kernel/irq/irqdesc.o CC kernel/power/qos.o CC kernel/locking/mutex.o LD drivers/media/pci/mantis/built-in.o LD drivers/video/fbdev/built-in.o CC drivers/base/class.o LD drivers/media/usb/dvb-usb/built-in.o CC drivers/base/platform.o LD drivers/media/pci/netup_unidvb/built-in.o CC kernel/printk/printk.o CC drivers/base/cpu.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/video/built-in.o CC drivers/base/firmware.o CC lib/devres.o CC drivers/base/init.o LD drivers/media/pci/pluto2/built-in.o CC kernel/rcu/update.o CC lib/hweight.o LD drivers/media/usb/s2255/built-in.o CC lib/bitrev.o HOSTCC lib/gen_crc32table CC kernel/dma.o CC kernel/sched/core.o CC lib/syscall.o LD drivers/media/pci/pt1/built-in.o CC lib/atomic64.o CC kernel/up.o CC lib/strncpy_from_user.o CC mm/shmem.o LD drivers/media/usb/siano/built-in.o CC lib/strnlen_user.o CC lib/argv_split.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/usb/stkwebcam/built-in.o CC kernel/time/time.o CC lib/chacha20.o CC lib/cmdline.o LD drivers/media/pci/saa7146/built-in.o CC lib/ctype.o CC lib/dec_and_lock.o LD drivers/media/usb/ttusb-budget/built-in.o CC lib/decompress.o CC kernel/rcu/sync.o LD drivers/media/pci/smipcie/built-in.o CC lib/dma-noop.o LD drivers/media/usb/ttusb-dec/built-in.o CC drivers/base/map.o CC drivers/base/attribute_container.o CC kernel/elfcore.o CC drivers/base/devres.o CC mm/util.o CC lib/dump_stack.o LD drivers/media/pci/ttpci/built-in.o LD fs/built-in.o CC kernel/rcu/tiny.o CC kernel/memremap.o CC lib/earlycpio.o LD drivers/media/usb/zr364xx/built-in.o CC lib/extable.o CC lib/fdt.o CC kernel/time/timer.o LD drivers/media/usb/built-in.o LD drivers/media/pci/built-in.o CC drivers/base/transport_class.o CC kernel/time/timekeeping.o CC kernel/time/hrtimer.o CC drivers/base/topology.o CC kernel/locking/semaphore.o CC kernel/time/ntp.o CC mm/mmzone.o CC lib/fdt_empty_tree.o CC lib/fdt_ro.o LD drivers/media/built-in.o CC lib/fdt_rw.o CC lib/fdt_strerror.o CC mm/vmstat.o CC lib/fdt_sw.o CC lib/fdt_wip.o CC mm/backing-dev.o CC lib/flex_proportions.o CC drivers/pci/bus.o CC lib/idr.o CC lib/int_sqrt.o CC kernel/sched/loadavg.o CC lib/ioremap.o CC kernel/sched/clock.o CC lib/irq_regs.o CC drivers/base/container.o CC drivers/base/property.o CC mm/mm_init.o CC mm/mmu_context.o CC mm/percpu.o CC lib/is_single_threaded.o CC lib/klist.o CC kernel/locking/rwsem.o CC mm/slab_common.o LD kernel/rcu/built-in.o CC mm/compaction.o CC lib/kobject.o CC kernel/irq/handle.o CC mm/vmacache.o LD kernel/power/built-in.o CC drivers/base/cacheinfo.o CC lib/kobject_uevent.o CC drivers/pci/probe.o CC drivers/pci/host-bridge.o CC lib/md5.o CC lib/nmi_backtrace.o LD drivers/base/power/built-in.o CC lib/nodemask.o LD drivers/base/test/built-in.o CC mm/interval_tree.o CC lib/plist.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC drivers/base/dma-mapping.o CC kernel/time/clocksource.o CC lib/seq_buf.o CC kernel/sched/cputime.o CC kernel/time/jiffies.o CC lib/sha1.o CC kernel/locking/percpu-rwsem.o CC lib/show_mem.o CC drivers/of/device.o CC lib/string.o CC kernel/locking/rwsem-xadd.o LD kernel/printk/built-in.o CC mm/list_lru.o CC lib/timerqueue.o CC mm/workingset.o CC drivers/pci/remove.o CC kernel/sched/idle_task.o CC mm/debug.o CC lib/vsprintf.o CC mm/gup.o CC lib/win_minmax.o CC mm/highmem.o CC kernel/irq/manage.o CC mm/memory.o GEN lib/crc32table.h CC mm/mincore.o CC lib/crc32.o CC kernel/sched/fair.o CC kernel/time/timer_list.o CC mm/mlock.o CC kernel/time/timeconv.o CC mm/mmap.o CC kernel/irq/spurious.o CC kernel/time/timecounter.o CC mm/mprotect.o CC kernel/irq/resend.o CC mm/mremap.o CC mm/msync.o CC kernel/time/alarmtimer.o CC mm/rmap.o CC mm/vmalloc.o CC kernel/irq/chip.o CC mm/pagewalk.o CC mm/pgtable-generic.o CC drivers/pci/pci.o CC mm/init-mm.o CC kernel/time/posix-stubs.o LD drivers/base/built-in.o CC kernel/time/clockevents.o CC mm/nobootmem.o CC mm/memblock.o CC kernel/sched/rt.o CC kernel/time/tick-common.o CC drivers/pci/pci-driver.o CC drivers/pci/search.o CC mm/dmapool.o CC drivers/pci/pci-sysfs.o LD kernel/locking/built-in.o CC drivers/of/platform.o CC drivers/of/fdt.o CC drivers/pci/rom.o CC drivers/of/fdt_address.o CC mm/slub.o CC drivers/of/address.o CC kernel/sched/deadline.o CC kernel/sched/stop_task.o CC kernel/sched/swait.o CC kernel/sched/wait.o CC kernel/sched/completion.o CC drivers/pci/setup-res.o CC kernel/irq/dummychip.o CC drivers/pci/irq.o CC kernel/irq/devres.o CC drivers/pci/vpd.o CC kernel/irq/irqdomain.o CC drivers/pci/setup-bus.o CC drivers/pci/vc.o CC kernel/sched/idle.o CC drivers/pci/syscall.o CC drivers/pci/of.o LD kernel/time/built-in.o CC drivers/of/irq.o CC drivers/of/of_pci_irq.o CC drivers/of/of_pci.o CC drivers/of/of_reserved_mem.o LD drivers/pci/host/built-in.o LD kernel/sched/built-in.o LD kernel/irq/built-in.o LD kernel/built-in.o LD drivers/of/built-in.o AR lib/lib.a EXPORTS lib/lib-ksyms.o LD lib/built-in.o LD mm/built-in.o LD drivers/pci/built-in.o LD drivers/built-in.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux.o MODPOST vmlinux.o LD vmlinux SORTEX vmlinux SYSMAP System.map /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-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-5.3' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 # Build took: 0:00:15.585803