lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230420104622.12504-1-ljrcore@126.com>
Date:   Thu, 20 Apr 2023 18:46:15 +0800
From:   Jinrong Liang <ljr.kernel@...il.com>
To:     Sean Christopherson <seanjc@...gle.com>
Cc:     Like Xu <like.xu.linux@...il.com>,
        Paolo Bonzini <pbonzini@...hat.com>,
        Jonathan Corbet <corbet@....net>,
        Shuah Khan <shuah@...nel.org>,
        Aaron Lewis <aaronlewis@...gle.com>,
        David Matlack <dmatlack@...gle.com>,
        Vishal Annapurve <vannapurve@...gle.com>,
        Wanpeng Li <wanpengli@...cent.com>,
        Bagas Sanjaya <bagasdotme@...il.com>,
        Jinrong Liang <cloudliang@...cent.com>,
        linux-kselftest@...r.kernel.org, linux-doc@...r.kernel.org,
        kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/7] KVM: selftests: Add tests for pmu event filter

From: Jinrong Liang <cloudliang@...cent.com>

From: Jinrong Liang <cloudliang@...cent.com>

Hi,

This patch set adds some tests to ensure consistent PMU performance event
filter behavior. Specifically, the patches aim to improve KVM's PMU event
filter by strengthening the test coverage, adding documentation, and making
other small changes. 

The first patch replaces int with uint32_t for nevents to ensure consistency
and readability in the code. The second patch adds fixed_counter_bitmap to
create_pmu_event_filter() to support the use of the same creator to control
the use of guest fixed counters. The third patch adds test cases for
unsupported input values in PMU filter, including unsupported "action"
values, unsupported "flags" values, and unsupported "nevents" values. Also,
it tests setting non-existent fixed counters in the fixed bitmap doesn't
fail.

The fourth patch updates the documentation for KVM_SET_PMU_EVENT_FILTER ioctl
to include a detailed description of how fixed performance events are handled
in the pmu filter. The fifth patch adds tests to cover that pmu_event_filter
works as expected when applied to fixed performance counters, even if there
is no fixed counter exists. The sixth patch adds a test to ensure that setting
both generic and fixed performance event filters does not affect the consistency
of the fixed performance filter behavior in KVM. The seventh patch adds a test
to verify the behavior of the pmu event filter when an incomplete
kvm_pmu_event_filter structure is used.

These changes help to ensure that KVM's PMU event filter functions as expected
in all supported use cases. These patches have been tested and verified to
function properly.

Thanks for your review and feedback.

Sincerely,
Jinrong Liang

Previous:
https://lore.kernel.org/kvm/20230414110056.19665-1-cloudliang@tencent.com

v2:
- Wrap the code from the documentation in a block of code; (Bagas Sanjaya)

Jinrong Liang (7):
  KVM: selftests: Replace int with uint32_t for nevents
  KVM: selftests: Apply create_pmu_event_filter() to fixed ctrs
  KVM: selftests: Test unavailable event filters are rejected
  KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
  KVM: selftests: Check if pmu_event_filter meets expectations on fixed
    ctrs
  KVM: selftests: Check gp event filters without affecting fixed event
    filters
  KVM: selftests: Test pmu event filter with incompatible
    kvm_pmu_event_filter

 Documentation/virt/kvm/api.rst                |  21 ++
 .../kvm/x86_64/pmu_event_filter_test.c        | 239 ++++++++++++++++--
 2 files changed, 243 insertions(+), 17 deletions(-)


base-commit: a25497a280bbd7bbcc08c87ddb2b3909affc8402
-- 
2.31.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ