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