17 Mar, 2019

2 commits

  • Pull pidfd system call from Christian Brauner:
    "This introduces the ability to use file descriptors from /proc//
    as stable handles on struct pid. Even if a pid is recycled the handle
    will not change. For a start these fds can be used to send signals to
    the processes they refer to.

    With the ability to use /proc/ fds as stable handles on struct
    pid we can fix a long-standing issue where after a process has exited
    its pid can be reused by another process. If a caller sends a signal
    to a reused pid it will end up signaling the wrong process.

    With this patchset we enable a variety of use cases. One obvious
    example is that we can now safely delegate an important part of
    process management - sending signals - to processes other than the
    parent of a given process by sending file descriptors around via scm
    rights and not fearing that the given process will have been recycled
    in the meantime. It also allows for easy testing whether a given
    process is still alive or not by sending signal 0 to a pidfd which is
    quite handy.

    There has been some interest in this feature e.g. from systems
    management (systemd, glibc) and container managers. I have requested
    and gotten comments from glibc to make sure that this syscall is
    suitable for their needs as well. In the future I expect it to take on
    most other pid-based signal syscalls. But such features are left for
    the future once they are needed.

    This has been sitting in linux-next for quite a while and has not
    caused any issues. It comes with selftests which verify basic
    functionality and also test that a recycled pid cannot be signaled via
    a pidfd.

    Jon has written about a prior version of this patchset. It should
    cover the basic functionality since not a lot has changed since then:

    https://lwn.net/Articles/773459/

    The commit message for the syscall itself is extensively documenting
    the syscall, including it's functionality and extensibility"

    * tag 'pidfd-v5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
    selftests: add tests for pidfd_send_signal()
    signal: add pidfd_send_signal() syscall

    Linus Torvalds
     
  • Pull device-dax updates from Dan Williams:
    "New device-dax infrastructure to allow persistent memory and other
    "reserved" / performance differentiated memories, to be assigned to
    the core-mm as "System RAM".

    Some users want to use persistent memory as additional volatile
    memory. They are willing to cope with potential performance
    differences, for example between DRAM and 3D Xpoint, and want to use
    typical Linux memory management apis rather than a userspace memory
    allocator layered over an mmap() of a dax file. The administration
    model is to decide how much Persistent Memory (pmem) to use as System
    RAM, create a device-dax-mode namespace of that size, and then assign
    it to the core-mm. The rationale for device-dax is that it is a
    generic memory-mapping driver that can be layered over any "special
    purpose" memory, not just pmem. On subsequent boots udev rules can be
    used to restore the memory assignment.

    One implication of using pmem as RAM is that mlock() no longer keeps
    data off persistent media. For this reason it is recommended to enable
    NVDIMM Security (previously merged for 5.0) to encrypt pmem contents
    at rest. We considered making this recommendation an actively enforced
    requirement, but in the end decided to leave it as a distribution /
    administrator policy to allow for emulation and test environments that
    lack security capable NVDIMMs.

    Summary:

    - Replace the /sys/class/dax device model with /sys/bus/dax, and
    include a compat driver so distributions can opt-in to the new ABI.

    - Allow for an alternative driver for the device-dax address-range

    - Introduce the 'kmem' driver to hotplug / assign a device-dax
    address-range to the core-mm.

    - Arrange for the device-dax target-node to be onlined so that the
    newly added memory range can be uniquely referenced by numa apis"

    NOTE! I'm not entirely happy with the whole "PMEM as RAM" model because
    we currently have special - and very annoying rules in the kernel about
    accessing PMEM only with the "MC safe" accessors, because machine checks
    inside the regular repeat string copy functions can be fatal in some
    (not described) circumstances.

    And apparently the PMEM modules can cause that a lot more than regular
    RAM. The argument is that this happens because PMEM doesn't necessarily
    get scrubbed at boot like RAM does, but that is planned to be added for
    the user space tooling.

    Quoting Dan from another email:
    "The exposure can be reduced in the volatile-RAM case by scanning for
    and clearing errors before it is onlined as RAM. The userspace tooling
    for that can be in place before v5.1-final. There's also runtime
    notifications of errors via acpi_nfit_uc_error_notify() from
    background scrubbers on the DIMM devices. With that mechanism the
    kernel could proactively clear newly discovered poison in the volatile
    case, but that would be additional development more suitable for v5.2.

    I understand the concern, and the need to highlight this issue by
    tapping the brakes on feature development, but I don't see PMEM as RAM
    making the situation worse when the exposure is also there via DAX in
    the PMEM case. Volatile-RAM is arguably a safer use case since it's
    possible to repair pages where the persistent case needs active
    application coordination"

    * tag 'devdax-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    device-dax: "Hotplug" persistent memory for use like normal RAM
    mm/resource: Let walk_system_ram_range() search child resources
    mm/memory-hotplug: Allow memory resources to be children
    mm/resource: Move HMM pr_debug() deeper into resource code
    mm/resource: Return real error codes from walk failures
    device-dax: Add a 'modalias' attribute to DAX 'bus' devices
    device-dax: Add a 'target_node' attribute
    device-dax: Auto-bind device after successful new_id
    acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node
    device-dax: Add /sys/class/dax backwards compatibility
    device-dax: Add support for a dax override driver
    device-dax: Move resource pinning+mapping into the common driver
    device-dax: Introduce bus + driver model
    device-dax: Start defining a dax bus model
    device-dax: Remove multi-resource infrastructure
    device-dax: Kill dax_region base
    device-dax: Kill dax_region ida

    Linus Torvalds
     

16 Mar, 2019

1 commit

  • Pull KVM updates from Paolo Bonzini:
    "ARM:
    - some cleanups
    - direct physical timer assignment
    - cache sanitization for 32-bit guests

    s390:
    - interrupt cleanup
    - introduction of the Guest Information Block
    - preparation for processor subfunctions in cpu models

    PPC:
    - bug fixes and improvements, especially related to machine checks
    and protection keys

    x86:
    - many, many cleanups, including removing a bunch of MMU code for
    unnecessary optimizations
    - AVIC fixes

    Generic:
    - memcg accounting"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (147 commits)
    kvm: vmx: fix formatting of a comment
    KVM: doc: Document the life cycle of a VM and its resources
    MAINTAINERS: Add KVM selftests to existing KVM entry
    Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()"
    KVM: PPC: Book3S: Add count cache flush parameters to kvmppc_get_cpu_char()
    KVM: PPC: Fix compilation when KVM is not enabled
    KVM: Minor cleanups for kvm_main.c
    KVM: s390: add debug logging for cpu model subfunctions
    KVM: s390: implement subfunction processor calls
    arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2
    KVM: arm/arm64: Remove unused timer variable
    KVM: PPC: Book3S: Improve KVM reference counting
    KVM: PPC: Book3S HV: Fix build failure without IOMMU support
    Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()"
    x86: kvmguest: use TSC clocksource if invariant TSC is exposed
    KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_start
    KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameter
    KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_ns
    KVM: x86/mmu: Consolidate kvm_mmu_zap_all() and kvm_mmu_zap_mmio_sptes()
    KVM: x86/mmu: WARN if zapping a MMIO spte results in zapping children
    ...

    Linus Torvalds
     

15 Mar, 2019

1 commit

  • : selftests: proc: proc-pid-vm
    : ========================================
    : proc-pid-vm: proc-pid-vm.c:277: main: Assertion `rv == strlen(buf0)' failed.
    : Aborted

    Because the vsyscall mapping is enabled. Read from vsyscall page to tell
    if vsyscall is being used.

    Link: http://lkml.kernel.org/r/20190307183204.GA11405@avx2
    Link: http://lkml.kernel.org/r/20190219094722.GB28258@shao2-debian
    Fixes: 34aab6bec23e7e9 ("proc: test /proc/*/maps, smaps, smaps_rollup, statm")
    Signed-off-by: Alexey Dobriyan
    Reported-by: kernel test robot
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

13 Mar, 2019

2 commits

  • Merge misc updates from Andrew Morton:

    - a few misc things

    - the rest of MM

    - remove flex_arrays, replace with new simple radix-tree implementation

    * emailed patches from Andrew Morton : (38 commits)
    Drop flex_arrays
    sctp: convert to genradix
    proc: commit to genradix
    generic radix trees
    selinux: convert to kvmalloc
    md: convert to kvmalloc
    openvswitch: convert to kvmalloc
    of: fix kmemleak crash caused by imbalance in early memory reservation
    mm: memblock: update comments and kernel-doc
    memblock: split checks whether a region should be skipped to a helper function
    memblock: remove memblock_{set,clear}_region_flags
    memblock: drop memblock_alloc_*_nopanic() variants
    memblock: memblock_alloc_try_nid: don't panic
    treewide: add checks for the return value of memblock_alloc*()
    swiotlb: add checks for the return value of memblock_alloc*()
    init/main: add checks for the return value of memblock_alloc*()
    mm/percpu: add checks for the return value of memblock_alloc*()
    sparc: add checks for the return value of memblock_alloc*()
    ia64: add checks for the return value of memblock_alloc*()
    arch: don't memset(0) memory returned by memblock_alloc()
    ...

    Linus Torvalds
     
  • Patch series "sysctl: fix range-checking in do_proc_dointvec_minmax_conv()", v2.

    After being left with an unusable system after a typo executing
    something like 'echo $((1< /proc/sys/vm/max_map_count', I found
    that do_proc_dointvec_minmax_conv() was missing a check to ensure that
    the converted value actually fits in an int.

    The first of the following patches enhances the sysctl selftest such
    that it detects this problem; the second provides a minimal fix
    (suitable for -stable) such that the selftest passes. The third patch
    then performs a more thorough refactoring to eliminate the code
    duplication that led to the bug in the first place (maintaining the
    passing status of the selftest).

    This patch (of 3):

    At present this exposes a bug in do_proc_dointvec_minmax_conv() (it
    fails to check for values that are too wide to fit in an int).

    Link: http://lkml.kernel.org/r/20190207123426.9202-2-zev@bewilderbeest.net
    Signed-off-by: Zev Weiss
    Cc: Luis Chamberlain
    Cc: Kees Cook
    Cc: Brendan Higgins
    Cc: Iurii Zaikin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zev Weiss
     

12 Mar, 2019

2 commits

  • Pull tracing updates from Steven Rostedt:
    "The biggest change for this release is in the histogram code:

    - Add "onchange(var)" histogram handler that executes a action when
    $var changes.

    - Add new "snapshot()" action for histogram handlers, that causes a
    snapshot of the ring buffer when triggered. ie.
    onchange(var).snapshot() will trigger a snapshot if var changes.

    - Add alternative for "trace()" action. Currently, to trigger a
    synthetic event, the name of that event is used as the handler
    name, which is inconsistent with the other actions.
    onchange(var).synthetic(param) where it can now be
    onchange(var).trace(synthetic, param). The older method will still
    be allowed, as long as the synthetic events do not overlap with
    other handler names.

    - The histogram documentation at testcases were updated for the new
    changes.

    Outside of the histogram code, we have:

    - Added a quicker way to enable set_ftrace_filter files, that will
    make it much quicker to bisect tracing a function that shouldn't be
    traced and crashes the kernel. (You can echo in numbers to
    set_ftrace_filter, and it will select the corresponding function
    that is in available_filter_functions).

    - Some better displaying of the tracing data (and more information
    was added).

    The rest are small fixes and more clean ups to the code"

    * tag 'trace-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (37 commits)
    tracing: Use strncpy instead of memcpy when copying comm in trace.c
    tracing: Use strncpy instead of memcpy when copying comm for hist triggers
    tracing: Use strncpy instead of memcpy for string keys in hist triggers
    tracing: Use str_has_prefix() in synth_event_create()
    x86/ftrace: Fix warning and considate ftrace_jmp_replace() and ftrace_call_replace()
    tracing/perf: Use strndup_user() instead of buggy open-coded version
    doc: trace: Fix documentation for uprobe_profile
    tracing: Fix spelling mistake: "analagous" -> "analogous"
    tracing: Comment why cond_snapshot is checked outside of max_lock protection
    tracing: Add hist trigger action 'expected fail' test case
    tracing: Add alternative synthetic event trace action test case
    tracing: Add hist trigger onchange() handler test case
    tracing: Add hist trigger snapshot() action test case
    tracing: Add SPDX license GPL-2.0 license identifier to inter-event testcases
    tracing: Add alternative synthetic event trace action syntax
    tracing: Add hist trigger onchange() handler Documentation
    tracing: Add hist trigger onchange() handler
    tracing: Add hist trigger snapshot() action Documentation
    tracing: Add hist trigger snapshot() action
    tracing: Add conditional snapshot
    ...

    Linus Torvalds
     
  • Several of these scripts have come in as old-fashioned patches, and in
    the process lost the executable bit. In most cases it doesn't matter,
    since the test infrastructure will explicitly execute them using the
    proper shell interpreter, but at least in the case of the new vmalloc
    test, the lack of execurable bit caused the test to fail with

    ./run_vmtests: line 217: ./test_vmalloc.sh: Permission denied

    because of the lacking exectuable permissions bit.

    This patch fixes that up.

    NOTE! A simple script to look for non-executable scripts in the kernel,
    something like

    git ls-files --stage -- '*.sh' |
    grep 100644 |
    cut -f2 |
    xargs grep -l '#!'

    will show that there's a lot of other files that _look_ like executable
    shell scripts, but don't have the executable bit set. I considered just
    scripting them all to be executable, but since it looks like the common
    pattern is to not really require it, I'm just doing the minimal fix as
    pointed out by the kernel test robot.

    Fixes: a05ef00c9790 ("selftests/vm: add script helper for CONFIG_TEST_VMALLOC_MODULE")
    Reported-by: kernel test robot
    Cc: Andrew Morton
    Cc: Uladzislau Rezki
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Mar, 2019

2 commits

  • Pull networking fixes from David Miller:
    "First batch of fixes in the new merge window:

    1) Double dst_cache free in act_tunnel_key, from Wenxu.

    2) Avoid NULL deref in IN_DEV_MFORWARD() by failing early in the
    ip_route_input_rcu() path, from Paolo Abeni.

    3) Fix appletalk compile regression, from Arnd Bergmann.

    4) If SLAB objects reach the TCP sendpage method we are in serious
    trouble, so put a debugging check there. From Vasily Averin.

    5) Memory leak in hsr layer, from Mao Wenan.

    6) Only test GSO type on GSO packets, from Willem de Bruijn.

    7) Fix crash in xsk_diag_put_umem(), from Eric Dumazet.

    8) Fix VNIC mailbox length in nfp, from Dirk van der Merwe.

    9) Fix race in ipv4 route exception handling, from Xin Long.

    10) Missing DMA memory barrier in hns3 driver, from Jian Shen.

    11) Use after free in __tcf_chain_put(), from Vlad Buslov.

    12) Handle inet_csk_reqsk_queue_add() failures, from Guillaume Nault.

    13) Return value correction when ip_mc_may_pull() fails, from Eric
    Dumazet.

    14) Use after free in x25_device_event(), also from Eric"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (72 commits)
    gro_cells: make sure device is up in gro_cells_receive()
    vxlan: test dev->flags & IFF_UP before calling gro_cells_receive()
    net/x25: fix use-after-free in x25_device_event()
    isdn: mISDNinfineon: fix potential NULL pointer dereference
    net: hns3: fix to stop multiple HNS reset due to the AER changes
    ip: fix ip_mc_may_pull() return value
    net: keep refcount warning in reqsk_free()
    net: stmmac: Avoid one more sometimes uninitialized Clang warning
    net: dsa: mv88e6xxx: Set correct interface mode for CPU/DSA ports
    rxrpc: Fix client call queueing, waiting for channel
    tcp: handle inet_csk_reqsk_queue_add() failures
    net: ethernet: sun: Zero initialize class in default case in niu_add_ethtool_tcam_entry
    8139too : Add support for U.S. Robotics USR997901A 10/100 Cardbus NIC
    fou, fou6: avoid uninit-value in gue_err() and gue6_err()
    net: sched: fix potential use-after-free in __tcf_chain_put()
    vhost: silence an unused-variable warning
    vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock
    connector: fix unsafe usage of ->real_parent
    vxlan: do not need BH again in vxlan_cleanup()
    net: hns3: add dma_rmb() for rx description
    ...

    Linus Torvalds
     
  • Pull tpm updates from James Morris:

    - Clean up the transmission flow

    Cleaned up the whole transmission flow. Locking of the chip is now
    done in the level of tpm_try_get_ops() and tpm_put_ops() instead
    taking the chip lock inside tpm_transmit(). The nested calls inside
    tpm_transmit(), used with the resource manager, have been refactored
    out.

    Should make easier to perform more complex transactions with the TPM
    without making the subsystem a bigger mess (e.g. encrypted channel
    patches by James Bottomley).

    - PPI 1.3 support

    TPM PPI 1.3 introduces an additional optional command parameter that
    may be needed for some commands. Display the parameter if the command
    requires such a parameter. Only command 23 (SetPCRBanks) needs one.

    The PPI request file will show output like this then:

    # echo "23 16" > request
    # cat request
    23 16

    # echo "5" > request
    # cat request
    5

    - Extend all PCR banks in IMA

    Instead of static PCR banks array, the array of available PCR banks
    is now allocated dynamically. The digests sizes are determined
    dynamically using a probe PCR read without relying crypto's static
    list of hash algorithms.

    This should finally make sealing of measurements in IMA safe and
    secure.

    - TPM 2.0 selftests

    Added a test suite to tools/testing/selftests/tpm2 previously outside
    of the kernel tree: https://github.com/jsakkine-intel/tpm2-scripts

    * 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (37 commits)
    tpm/ppi: Enable submission of optional command parameter for PPI 1.3
    tpm/ppi: Possibly show command parameter if TPM PPI 1.3 is used
    tpm/ppi: Display up to 101 operations as define for version 1.3
    tpm/ppi: rename TPM_PPI_REVISION_ID to TPM_PPI_REVISION_ID_1
    tpm/ppi: pass function revision ID to tpm_eval_dsm()
    tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend()
    KEYS: trusted: explicitly use tpm_chip structure from tpm_default_chip()
    tpm: move tpm_chip definition to include/linux/tpm.h
    tpm: retrieve digest size of unknown algorithms with PCR read
    tpm: rename and export tpm2_digest and tpm2_algorithms
    tpm: dynamically allocate the allocated_banks array
    tpm: remove @flags from tpm_transmit()
    tpm: take TPM chip power gating out of tpm_transmit()
    tpm: introduce tpm_chip_start() and tpm_chip_stop()
    tpm: remove TPM_TRANSMIT_UNLOCKED flag
    tpm: use tpm_try_get_ops() in tpm-sysfs.c.
    tpm: remove @space from tpm_transmit()
    tpm: move TPM space code out of tpm_transmit()
    tpm: move tpm_validate_commmand() to tpm2-space.c
    tpm: clean up tpm_try_transmit() error handling flow
    ...

    Linus Torvalds
     

10 Mar, 2019

2 commits

  • Pull media updates from Mauro Carvalho Chehab:

    - remove sensor drivers that got converted from soc_camera

    - remaining soc_camera drivers got moved to staging

    - some documentation cleanups and improvements

    - the imx staging driver now supports imx7

    - the ov9640, mt9m001 and mt9m111 got converted from soc_camera

    - the vim2m driver now does what a m2m convert driver expects to do

    - epoll() fixes on media subsystems

    - several drivers fixes, typos, cleanups and improvements

    * tag 'media/v5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (346 commits)
    media: dvb/earth-pt1: fix wrong initialization for demod blocks
    media: vim2m: Address some coding style issues
    media: vim2m: don't use BUG()
    media: vim2m: speedup passthrough copy
    media: vim2m: add an horizontal scaler
    media: vim2m: don't accept YUYV anymore as output format
    media: vim2m: add vertical linear scaler
    media: vim2m: better handle cap/out buffers with different sizes
    media: vim2m: use different framesizes for bayer formats
    media: vim2m: add support for VIDIOC_ENUM_FRAMESIZES
    media: vim2m: ensure that width is multiple of two
    media: vim2m: improve debug messages
    media: vim2m: add bayer capture formats
    media: a few more typos at staging, pci, platform, radio and usb
    media: Documentation: fix several typos
    media: staging: fix several typos
    media: include: fix several typos
    media: common: fix several typos
    media: v4l2-core: fix several typos
    media: usb: fix several typos
    ...

    Linus Torvalds
     
  • …/git/shuah/linux-kselftest

    Pull kselftest update fromShuah Khan:

    - ir test compile warnings fixes

    - seccomp test fixes and improvements from Tycho Andersen and Kees Cook

    - ftrace fixes to non-POSIX-compliant constructs in colored output code
    and handling absence of tput from Juerg Haefliger

    * tag 'linux-kselftest-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests/ftrace: Handle the absence of tput
    selftests/ftrace: Replace \e with \033
    selftests/ftrace: Replace echo -e with printf
    selftests: ir: skip when non-root user runs the test
    selftests: ir: skip when lirc device doesn't exist.
    selftests: ir: fix warning: "%s" directive output may be truncated ’ directive output may be truncated
    selftests/seccomp: Actually sleep for 1/10th second
    selftests/harness: Update named initializer syntax
    selftests: unshare userns in seccomp pidns testcases
    selftests: set NO_NEW_PRIVS bit in seccomp user tests
    selftests: skip seccomp get_metadata test if not real root
    selftest: include stdio.h in kselftest.h
    selftests: fix typo in seccomp_bpf.c
    selftests: don't kill child immediately in get_metadata() test

    Linus Torvalds
     

09 Mar, 2019

1 commit

  • Pull livepatching updates from Jiri Kosina:

    - support for something we call 'atomic replace', and allows for much
    better handling of cumulative patches (which is something very useful
    for distros), from Jason Baron with help of Petr Mladek and Joe
    Lawrence

    - improvement of handling of tasks blocking finalization, from Miroslav
    Benes

    - update of MAINTAINERS file to reflect move towards group
    maintainership

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching: (22 commits)
    livepatch/selftests: use "$@" to preserve argument list
    livepatch: Module coming and going callbacks can proceed with all listed patches
    livepatch: Proper error handling in the shadow variables selftest
    livepatch: return -ENOMEM on ptr_id() allocation failure
    livepatch: Introduce klp_for_each_patch macro
    livepatch: core: Return EOPNOTSUPP instead of ENOSYS
    selftests/livepatch: add DYNAMIC_DEBUG config dependency
    livepatch: samples: non static warnings fix
    livepatch: update MAINTAINERS
    livepatch: Remove signal sysfs attribute
    livepatch: Send a fake signal periodically
    selftests/livepatch: introduce tests
    livepatch: Remove ordering (stacking) of the livepatches
    livepatch: Atomic replace and cumulative patches documentation
    livepatch: Remove Nop structures when unused
    livepatch: Add atomic replace
    livepatch: Use lists to manage patches, objects and functions
    livepatch: Simplify API by removing registration step
    livepatch: Don't block the removal of patches loaded after a forced transition
    livepatch: Consolidate klp_free functions
    ...

    Linus Torvalds
     

08 Mar, 2019

3 commits

  • Pull powerpc updates from Michael Ellerman:
    "Notable changes:

    - Enable THREAD_INFO_IN_TASK to move thread_info off the stack.

    - A big series from Christoph reworking our DMA code to use more of
    the generic infrastructure, as he said:
    "This series switches the powerpc port to use the generic swiotlb
    and noncoherent dma ops, and to use more generic code for the
    coherent direct mapping, as well as removing a lot of dead
    code."

    - Increase our vmalloc space to 512T with the Hash MMU on modern
    CPUs, allowing us to support machines with larger amounts of total
    RAM or distance between nodes.

    - Two series from Christophe, one to optimise TLB miss handlers on
    6xx, and another to optimise the way STRICT_KERNEL_RWX is
    implemented on some 32-bit CPUs.

    - Support for KCOV coverage instrumentation which means we can run
    syzkaller and discover even more bugs in our code.

    And as always many clean-ups, reworks and minor fixes etc.

    Thanks to: Alan Modra, Alexey Kardashevskiy, Alistair Popple, Andrea
    Arcangeli, Andrew Donnellan, Aneesh Kumar K.V, Aravinda Prasad, Balbir
    Singh, Brajeswar Ghosh, Breno Leitao, Christian Lamparter, Christian
    Zigotzky, Christophe Leroy, Christoph Hellwig, Corentin Labbe, Daniel
    Axtens, David Gibson, Diana Craciun, Firoz Khan, Gustavo A. R. Silva,
    Igor Stoppa, Joe Lawrence, Joel Stanley, Jonathan Neuschäfer, Jordan
    Niethe, Laurent Dufour, Madhavan Srinivasan, Mahesh Salgaonkar, Mark
    Cave-Ayland, Masahiro Yamada, Mathieu Malaterre, Matteo Croce, Meelis
    Roos, Michael W. Bringmann, Nathan Chancellor, Nathan Fontenot,
    Nicholas Piggin, Nick Desaulniers, Nicolai Stange, Oliver O'Halloran,
    Paul Mackerras, Peter Xu, PrasannaKumar Muralidharan, Qian Cai,
    Rashmica Gupta, Reza Arbab, Robert P. J. Day, Russell Currey,
    Sabyasachi Gupta, Sam Bobroff, Sandipan Das, Sergey Senozhatsky,
    Souptick Joarder, Stewart Smith, Tyrel Datwyler, Vaibhav Jain,
    YueHaibing"

    * tag 'powerpc-5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (200 commits)
    powerpc/32: Clear on-stack exception marker upon exception return
    powerpc: Remove export of save_stack_trace_tsk_reliable()
    powerpc/mm: fix "section_base" set but not used
    powerpc/mm: Fix "sz" set but not used warning
    powerpc/mm: Check secondary hash page table
    powerpc: remove nargs from __SYSCALL
    powerpc/64s: Fix unrelocated interrupt trampoline address test
    powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables
    powerpc/fsl: Fix the flush of branch predictor.
    powerpc/powernv: Make opal log only readable by root
    powerpc/xmon: Fix opcode being uninitialized in print_insn_powerpc
    powerpc/powernv: move OPAL call wrapper tracing and interrupt handling to C
    powerpc/64s: Fix data interrupts vs d-side MCE reentrancy
    powerpc/64s: Prepare to handle data interrupts vs d-side MCE reentrancy
    powerpc/64s: system reset interrupt preserve HSRRs
    powerpc/64s: Fix HV NMI vs HV interrupt recoverability test
    powerpc/mm/hash: Handle mmap_min_addr correctly in get_unmapped_area topdown search
    powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback
    selftests/powerpc: Remove duplicate header
    powerpc sstep: Add support for modsd, modud instructions
    ...

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:

    - Extend LSM stacking to allow sharing of cred, file, ipc, inode, and
    task blobs. This paves the way for more full-featured LSMs to be
    merged, and is specifically aimed at LandLock and SARA LSMs. This
    work is from Casey and Kees.

    - There's a new LSM from Micah Morton: "SafeSetID gates the setid
    family of syscalls to restrict UID/GID transitions from a given
    UID/GID to only those approved by a system-wide whitelist." This
    feature is currently shipping in ChromeOS.

    * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (62 commits)
    keys: fix missing __user in KEYCTL_PKEY_QUERY
    LSM: Update list of SECURITYFS users in Kconfig
    LSM: Ignore "security=" when "lsm=" is specified
    LSM: Update function documentation for cap_capable
    security: mark expected switch fall-throughs and add a missing break
    tomoyo: Bump version.
    LSM: fix return value check in safesetid_init_securityfs()
    LSM: SafeSetID: add selftest
    LSM: SafeSetID: remove unused include
    LSM: SafeSetID: 'depend' on CONFIG_SECURITY
    LSM: Add 'name' field for SafeSetID in DEFINE_LSM
    LSM: add SafeSetID module that gates setid calls
    LSM: add SafeSetID module that gates setid calls
    tomoyo: Allow multiple use_group lines.
    tomoyo: Coding style fix.
    tomoyo: Swicth from cred->security to task_struct->security.
    security: keys: annotate implicit fall throughs
    security: keys: annotate implicit fall throughs
    security: keys: annotate implicit fall through
    capabilities:: annotate implicit fall through
    ...

    Linus Torvalds
     
  • Non-zero imm value in the second part of the ldimm64 instruction for
    BPF_PSEUDO_MAP_FD is invalid, and thus must be rejected. The map fd
    only ever sits in the first instructions' imm field. None of the BPF
    loaders known to us are using it, so risk of regression is minimal.
    For clarity and consistency, the few insn->{src_reg,imm} occurrences
    are rewritten into insn[0].{src_reg,imm}. Add a test case to the BPF
    selftest suite as well.

    Fixes: 0246e64d9a5f ("bpf: handle pseudo BPF_LD_IMM64 insn")
    Signed-off-by: Daniel Borkmann
    Acked-by: Song Liu
    Signed-off-by: Alexei Starovoitov

    Daniel Borkmann
     

07 Mar, 2019

5 commits

  • CHECK macro implicitly uses duration. We call CHECK() a couple of times
    before duration is initialized from bpf_prog_test_run().
    Explicitly set duration to 0 to avoid compiler warnings.

    Fixes: 740f8a657221 ("selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN")
    Signed-off-by: Stanislav Fomichev
    Acked-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Stanislav Fomichev
     
  • A bunch of related changes lumped together:
    * Create prog_tests and verifier output directories; these don't exist with
    out-of-tree $(OUTPUT)
    * Add missing -I (via separate TEST_{PROGS,VERIFIER}_CFLAGS) for the main tree
    ($(PWD) != $(OUTPUT) for out-of-tree)
    * Add libbpf.a dependency for test_progs_32 (parallel make fails otherwise)
    * Add missing "; \" after "cd" when generating test.h headers

    Tested by:
    $ alias m="make -s -j$(nproc)"
    $ m -C tools/testing/selftests/bpf/ clean
    $ m -C tools/lib/bpf/ clean
    $ rm -rf xxx; mkdir xxx; m -C tools/testing/selftests/bpf/ OUTPUT=$PWD/xxx
    $ m -C tools/testing/selftests/bpf/

    Fixes: 3f30658830f3 ("selftests: bpf: break up test_progs - preparations")
    Fixes: 2dfb40121ee8 ("selftests: bpf: prepare for break up of verifier tests")
    Fixes: 3ef84346c561 ("selftests: bpf: makefile support sub-register code-gen test mode")
    Signed-off-by: Stanislav Fomichev
    Acked-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Stanislav Fomichev
     
  • Add a test on egress that a large TCP packet successfully goes through
    the lwt+bpf encap tunnel.

    Although there is no direct evidence that GSO worked, as opposed to
    e.g. TCP segmentation or IP fragmentation (maybe a kernel stats counter
    should be added to track the number of failed GSO attempts?), without
    the previous patch in the patchset this test fails, and printk-debugging
    showed that software-based GSO succeeded here (veth is not compatible with
    SKB_GSO_DODGY, so GSO happens in the software stack).

    Also removed an unnecessary nodad and added a missed failed flag.

    Signed-off-by: Peter Oskolkov
    Acked-by: Song Liu
    Signed-off-by: Daniel Borkmann

    Peter Oskolkov
     
  • Pull driver core updates from Greg KH:
    "Here is the big driver core patchset for 5.1-rc1

    More patches than "normal" here this merge window, due to some work in
    the driver core by Alexander Duyck to rework the async probe
    functionality to work better for a number of devices, and independant
    work from Rafael for the device link functionality to make it work
    "correctly".

    Also in here is:

    - lots of BUS_ATTR() removals, the macro is about to go away

    - firmware test fixups

    - ihex fixups and simplification

    - component additions (also includes i915 patches)

    - lots of minor coding style fixups and cleanups.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (65 commits)
    driver core: platform: remove misleading err_alloc label
    platform: set of_node in platform_device_register_full()
    firmware: hardcode the debug message for -ENOENT
    driver core: Add missing description of new struct device_link field
    driver core: Fix PM-runtime for links added during consumer probe
    drivers/component: kerneldoc polish
    async: Add cmdline option to specify drivers to be async probed
    driver core: Fix possible supplier PM-usage counter imbalance
    PM-runtime: Fix __pm_runtime_set_status() race with runtime resume
    driver: platform: Support parsing GpioInt 0 in platform_get_irq()
    selftests: firmware: fix verify_reqs() return value
    Revert "selftests: firmware: remove use of non-standard diff -Z option"
    Revert "selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to config"
    device: Fix comment for driver_data in struct device
    kernfs: Allocating memory for kernfs_iattrs with kmem_cache.
    sysfs: remove unused include of kernfs-internal.h
    driver core: Postpone DMA tear-down until after devres release
    driver core: Document limitation related to DL_FLAG_RPM_ACTIVE
    PM-runtime: Take suppliers into account in __pm_runtime_set_status()
    device.h: Add __cold to dev_ logging functions
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:

    - a few misc things

    - ocfs2 updates

    - most of MM

    * emailed patches from Andrew Morton : (159 commits)
    tools/testing/selftests/proc/proc-self-syscall.c: remove duplicate include
    proc: more robust bulk read test
    proc: test /proc/*/maps, smaps, smaps_rollup, statm
    proc: use seq_puts() everywhere
    proc: read kernel cpu stat pointer once
    proc: remove unused argument in proc_pid_lookup()
    fs/proc/thread_self.c: code cleanup for proc_setup_thread_self()
    fs/proc/self.c: code cleanup for proc_setup_self()
    proc: return exit code 4 for skipped tests
    mm,mremap: bail out earlier in mremap_to under map pressure
    mm/sparse: fix a bad comparison
    mm/memory.c: do_fault: avoid usage of stale vm_area_struct
    writeback: fix inode cgroup switching comment
    mm/huge_memory.c: fix "orig_pud" set but not used
    mm/hotplug: fix an imbalance with DEBUG_PAGEALLOC
    mm/memcontrol.c: fix bad line in comment
    mm/cma.c: cma_declare_contiguous: correct err handling
    mm/page_ext.c: fix an imbalance with kmemleak
    mm/compaction: pass pgdat to too_many_isolated() instead of zone
    mm: remove zone_lru_lock() function, access ->lru_lock directly
    ...

    Linus Torvalds
     

06 Mar, 2019

9 commits

  • Remove duplicate header which is included twice.

    Link: http://lkml.kernel.org/r/20190304182719.GA6606@jordon-HP-15-Notebook-PC
    Signed-off-by: Sabyasachi Gupta
    Signed-off-by: Souptick Joarder
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Souptick Joarder
     
  • /proc may not be mounted and test will exit successfully.

    Ensure proc is mounted at /proc.

    Link: http://lkml.kernel.org/r/20190209105613.GA10384@avx2
    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Start testing VM related fiels found in per-process files.

    Do it by jiting small executable which brings its address space to
    precisely known state, then comparing /proc/*/maps, smaps, smaps_rollup,
    and statm files to expected values.

    Currently only x86_64 is supported.

    [adobriyan@gmail.com: exit correctly in /proc/*/maps test]
    Link: http://lkml.kernel.org/r/20190206073659.GB15311@avx2
    Link: http://lkml.kernel.org/r/20190203165806.GA14568@avx2
    Signed-off-by: Alexey Dobriyan
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Test harness uses 4 for SKIP, not 2.

    Link: http://lkml.kernel.org/r/20190108193108.GA12259@avx2
    Signed-off-by: Alexey Dobriyan
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Mount tmpfs with "nr_inodes=3" for easy check.

    Link: http://lkml.kernel.org/r/20190219215016.GA20084@avx2
    Signed-off-by: Alexey Dobriyan
    Reviewed-by: Andrew Morton
    Cc: Darrick J. Wong
    Cc: Hugh Dickins
    Cc: Matej Kupljen
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Add tests to verify sealing memfds with the F_SEAL_FUTURE_WRITE works as
    expected.

    Link: http://lkml.kernel.org/r/20190112203816.85534-3-joel@joelfernandes.org
    Signed-off-by: Joel Fernandes (Google)
    Reviewed-by: Shuah Khan
    Cc: Al Viro
    Cc: Andy Lutomirski
    Cc: Hugh Dickins
    Cc: Jann Horn
    Cc: J. Bruce Fields
    Cc: Jeff Layton
    Cc: John Stultz
    Cc: Marc-Andr Lureau
    Cc: Matthew Wilcox
    Cc: Mike Kravetz
    Cc: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joel Fernandes (Google)
     
  • Add the test script for the kernel test driver to analyse vmalloc
    allocator for benchmarking and stressing purposes. It is just a kernel
    module loader. You can specify and pass different parameters in order
    to investigate allocations behaviour. See "usage" output for more
    details.

    Also add basic vmalloc smoke test to the "run_vmtests" suite.

    Link: http://lkml.kernel.org/r/20190103142108.20744-4-urezki@gmail.com
    Signed-off-by: Uladzislau Rezki (Sony)
    Reviewed-by: Shuah Khan
    Cc: Kees Cook
    Cc: Matthew Wilcox
    Cc: Michal Hocko
    Cc: Oleksiy Avramchenko
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uladzislau Rezki (Sony)
     
  • Pull RCU updates from Ingo Molnar:
    "The main RCU related changes in this cycle were:

    - Additional cleanups after RCU flavor consolidation

    - Grace-period forward-progress cleanups and improvements

    - Documentation updates

    - Miscellaneous fixes

    - spin_is_locked() conversions to lockdep

    - SPDX changes to RCU source and header files

    - SRCU updates

    - Torture-test updates, including nolibc updates and moving nolibc to
    tools/include"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    locking/locktorture: Convert to SPDX license identifier
    linux/torture: Convert to SPDX license identifier
    torture: Convert to SPDX license identifier
    linux/srcu: Convert to SPDX license identifier
    linux/rcutree: Convert to SPDX license identifier
    linux/rcutiny: Convert to SPDX license identifier
    linux/rcu_sync: Convert to SPDX license identifier
    linux/rcu_segcblist: Convert to SPDX license identifier
    linux/rcupdate: Convert to SPDX license identifier
    linux/rcu_node_tree: Convert to SPDX license identifier
    rcu/update: Convert to SPDX license identifier
    rcu/tree: Convert to SPDX license identifier
    rcu/tiny: Convert to SPDX license identifier
    rcu/sync: Convert to SPDX license identifier
    rcu/srcu: Convert to SPDX license identifier
    rcu/rcutorture: Convert to SPDX license identifier
    rcu/rcu_segcblist: Convert to SPDX license identifier
    rcu/rcuperf: Convert to SPDX license identifier
    rcu/rcu.h: Convert to SPDX license identifier
    RCU/torture.txt: Remove section MODULE PARAMETERS
    ...

    Linus Torvalds
     
  • As suggested by Andrew Morton in [1] add selftests for the new
    sys_pidfd_send_signal() syscall:

    /* test_pidfd_send_signal_syscall_support */
    Test whether the pidfd_send_signal() syscall is supported and the tests can
    be run or need to be skipped.

    /* test_pidfd_send_signal_simple_success */
    Test whether sending a signal via a pidfd works.

    /* test_pidfd_send_signal_exited_fail */
    Verify that sending a signal to an already exited process fails with ESRCH.

    /* test_pidfd_send_signal_recycled_pid_fail */
    Verify that a recycled pid cannot be signaled via a pidfd referring to an
    already exited process that had the same pid (cf. [2], [3]).

    [1]: https://lore.kernel.org/lkml/20181228152012.dbf0508c2508138efc5f2bbe@linux-foundation.org/
    [2]: https://lore.kernel.org/lkml/20181230210245.GA30252@mail.hallyn.com/
    [3]: https://lore.kernel.org/lkml/20181230232711.7aayb7vnhogbv4co@brauner.io/

    Cc: Arnd Bergmann
    Cc: "Eric W. Biederman"
    Cc: Kees Cook
    Cc: Jann Horn
    Cc: Andy Lutomirsky
    Cc: Andrew Morton
    Cc: Oleg Nesterov
    Cc: Aleksa Sarai
    Cc: Al Viro
    Cc: Florian Weimer
    Signed-off-by: Christian Brauner
    Reviewed-by: Tycho Andersen
    Acked-by: Serge Hallyn

    Christian Brauner
     

05 Mar, 2019

2 commits

  • Remove duplicate header which is included twice.

    Signed-off-by: Sabyasachi Gupta
    Signed-off-by: Souptick Joarder
    Signed-off-by: David S. Miller

    Souptick Joarder
     
  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2019-03-04

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) Add AF_XDP support to libbpf. Rationale is to facilitate writing
    AF_XDP applications by offering higher-level APIs that hide many
    of the details of the AF_XDP uapi. Sample programs are converted
    over to this new interface as well, from Magnus.

    2) Introduce a new cant_sleep() macro for annotation of functions
    that cannot sleep and use it in BPF_PROG_RUN() to assert that
    BPF programs run under preemption disabled context, from Peter.

    3) Introduce per BPF prog stats in order to monitor the usage
    of BPF; this is controlled by kernel.bpf_stats_enabled sysctl
    knob where monitoring tools can make use of this to efficiently
    determine the average cost of programs, from Alexei.

    4) Split up BPF selftest's test_progs similarly as we already
    did with test_verifier. This allows to further reduce merge
    conflicts in future and to get more structure into our
    quickly growing BPF selftest suite, from Stanislav.

    5) Fix a bug in BTF's dedup algorithm which can cause an infinite
    loop in some circumstances; also various BPF doc fixes and
    improvements, from Andrii.

    6) Various BPF sample cleanups and migration to libbpf in order
    to further isolate the old sample loader code (so we can get
    rid of it at some point), from Jakub.

    7) Add a new BPF helper for BPF cgroup skb progs that allows
    to set ECN CE code point and a Host Bandwidth Manager (HBM)
    sample program for limiting the bandwidth used by v2 cgroups,
    from Lawrence.

    8) Enable write access to skb->queue_mapping from tc BPF egress
    programs in order to let BPF pick TX queue, from Jesper.

    9) Fix a bug in BPF spinlock handling for map-in-map which did
    not propagate spin_lock_off to the meta map, from Yonghong.

    10) Fix a bug in the new per-CPU BPF prog counters to properly
    initialize stats for each CPU, from Eric.

    11) Add various BPF helper prototypes to selftest's bpf_helpers.h,
    from Willem.

    12) Fix various BPF samples bugs in XDP and tracing progs,
    from Toke, Daniel and Yonghong.

    13) Silence preemption splat in test_bpf after BPF_PROG_RUN()
    enforces it now everywhere, from Anders.

    14) Fix a signedness bug in libbpf's btf_dedup_ref_type() to
    get error handling working, from Dan.

    15) Fix bpftool documentation and auto-completion with regards
    to stream_{verdict,parser} attach types, from Alban.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

04 Mar, 2019

1 commit


03 Mar, 2019

7 commits

  • Pablo Neira Ayuso says:

    ====================
    Netfilter/IPVS updates for net-next

    The following patchset contains Netfilter/IPVS updates for net-next:

    1) Add .release_ops to properly unroll .select_ops, use it from nft_compat.
    After this change, we can remove list of extensions too to simplify this
    codebase.

    2) Update amanda conntrack helper to support v3.4, from Florian Tham.

    3) Get rid of the obsolete BUGPRINT macro in ebtables, from
    Florian Westphal.

    4) Merge IPv4 and IPv6 masquerading infrastructure into one single module.
    From Florian Westphal.

    5) Patchset to remove nf_nat_l3proto structure to get rid of
    indirections, from Florian Westphal.

    6) Skip unnecessary conntrack timeout updates in case the value is
    still the same, also from Florian Westphal.

    7) Remove unnecessary 'fall through' comments in empty switch cases,
    from Li RongQing.

    8) Fix lookup to fixed size hashtable sets on big endian with 32-bit keys.

    9) Incorrect logic to deactivate path of fixed size hashtable sets,
    element was being tested to self.

    10) Remove nft_hash_key(), the bitmap set is always selected for 16-bit
    keys.

    11) Use boolean whenever possible in IPVS codebase, from Andrea Claudi.

    12) Enter close state in conntrack if RST matches exact sequence number,
    from Florian Westphal.

    13) Initialize dst_cache in tunnel extension, from wenxu.

    14) Pass protocol as u16 to xt_check_match and xt_check_target, from
    Li RongQing.

    15) SCTP header is granted to be in a linear area from IPVS NAT handler,
    from Xin Long.

    16) Don't steal packets coming from slave VRF device from the
    ip_sabotage_in() path, from David Ahern.

    17) Fix unsafe update of basechain stats, from Li RongQing.

    18) Make sure CONNTRACK_LOCKS is power of 2 to let compiler optimize
    modulo operation as bitwise AND, from Li RongQing.

    19) Use device_attribute instead of internal definition in the IDLETIMER
    target, from Sami Tolvanen.

    20) Merge redir, masq and IPv4/IPv6 NAT chain types, from Florian Westphal.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • David S. Miller
     
  • Move the rest of prog tests into separate files.

    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Alexei Starovoitov

    Stanislav Fomichev
     
  • Move spinlock prog tests into separate files.

    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Alexei Starovoitov

    Stanislav Fomichev
     
  • Move tracepoint prog tests into separate files.

    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Alexei Starovoitov

    Stanislav Fomichev
     
  • Move stackmap prog tests into separate files.

    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Alexei Starovoitov

    Stanislav Fomichev
     
  • Move xdp prog tests into separate files.

    Signed-off-by: Stanislav Fomichev
    Signed-off-by: Alexei Starovoitov

    Stanislav Fomichev