Giter Club home page Giter Club logo

qa_test_klp's Introduction

Shell scripts to stress Linux Kernel Live Patching infrastructure. These
scripts try to induce a few stressful situations for the live patching
infrastructure in the hope of making bugs creep out of their hideouts.

Brief test case description
---------------------------

TC3 Patch under pressure
    * Patch a heavily hammered function in kernel.

TC5 Test kernel live patching in quick succession
    * Apply one patch after another in quick succession.

TC6 Patch while CPUs are busy
    * Make CPUs busy in user space and patch.

TC7 Test kernel live patching in low-memory condition
    * Run a workload that will bring the system close to OOM and then start
      patching.
    * Requires hiworkload (needs to be compiled).

TC8 Patch with replace-all
    * Make sure "replace-all" KLP function works as expected.

TC10 Patch caller of graph traced callee
    * Check that the reliable stacktrace implementation is able to
      discover callers of graph traced functions.

TC11 Patch function sleeping in a fault
    * Make sure that a patch to function sleeping in a fault exception
      gets blocked.

TC12 Patch caller of kretprobed callee
    * Check that the reliable stacktrace implementation is able to
      discover callers of functions with a kretprobe on them.

TC13 Patch traced function
    * Patch a function which is being traced and check that the live
      patch really is in effect.

TC14 Trace patched function
    * Trace a patched function and check that the live patch remains
      in effect.

TC15 Patch graph-traced function
    * Patch a function which is being graph-traced and check that the
      live patch really is in effect.

TC16 Graph-trace patched function
    * Graph-trace a patched function and check that the live patch
      remains in effect.

TC17 Check that patching a kprobed function fails
    * Patch a function with a kprobe on it and check that the live
      patch fails to load: kprobes' and live patching ftrace_ops both
      have FTRACE_OPS_FL_IPMODIFY set.

Supported platforms
-------------------

This test suite is supported and regularly tested on:

* SUSE Linux Enterprise 12 SP4 and newer
* SUSE Linux Enterprise 15 GA and newer
* openSUSE Tumbleweed

Following distros are supported in the sense that there is intention to allow
running qa_test_klp on them but there may be no regular testing done on these
distros. If anything is broken in this area, we welcome bug reports and
patches.

* Debian 10 and newer
* Fedora 31 and newer
* openSUSE Leap 15.1 and newer

Supported hardware architectures include **x86_64/amd64**, **ppc64le** and
**s390x**.

qa_test_klp's People

Contributors

hanzyd avatar lpechacek avatar marcosps avatar mirab avatar nicstange avatar pevik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.