From: Kris Van Hees <kris.van.hees@oracle.com>
To: Nick Alcock <nick.alcock@oracle.com>
Cc: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: Re: [DTrace-devel] [PATCH] tests: add test for buggy deduplicator
Date: Thu, 9 Jan 2025 12:09:09 -0500 [thread overview]
Message-ID: <Z4ACtZM4LgprWyCO@oracle.com> (raw)
In-Reply-To: <20250109164711.232013-1-nick.alcock@oracle.com>
On Thu, Jan 09, 2025 at 04:47:10PM +0000, Nick Alcock via DTrace-devel wrote:
> Some early prototype deduplicators dedupped types in one dict (more or less)
> rather than putting conflicting types and module types into
> sub-dictionaries. Fail if the running kernel is such a kernel.
>
> Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
> ---
> dtrace.spec | 2 +-
> test/smoke/tst.ctf-intact.sh | 58 ++++++++++++++++++++++++++++++++++++
> 2 files changed, 59 insertions(+), 1 deletion(-)
> create mode 100755 test/smoke/tst.ctf-intact.sh
>
> diff --git a/dtrace.spec b/dtrace.spec
> index 902ad7d8bb980..cf960f14b55c7 100644
> --- a/dtrace.spec
> +++ b/dtrace.spec
> @@ -151,7 +151,7 @@ Requires: %{name}-devel = %{version}-%{release} perl gcc java
> Requires: java-1.8.0-openjdk-devel perl-IO-Socket-IP xfsprogs
> Requires: exportfs vim-minimal %{name}%{?_isa} = %{version}-%{release}
> Requires: coreutils wireshark %{glibc32}
> -Requires: perf time bc nfs-utils
> +Requires: perf time bc nfs-utils binutils
> Autoreq: 0
> Group: Development/System
>
> diff --git a/test/smoke/tst.ctf-intact.sh b/test/smoke/tst.ctf-intact.sh
> new file mode 100755
> index 0000000000000..d737a2b162fcb
> --- /dev/null
> +++ b/test/smoke/tst.ctf-intact.sh
> @@ -0,0 +1,58 @@
> +#!/bin/bash
> +#
> +# Oracle Linux DTrace.
> +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
> +# Licensed under the Universal Permissive License v 1.0 as shown at
> +# http://oss.oracle.com/licenses/upl.
> +#
> +
> +#
> +# This script verifies that the CTF, if present, is non-corrupt: in
> +# particular, that it has at least one child with
... rest of the sentence is missing?
> +#
> +
> +ctf="/lib/modules/$(uname -r)/kernel/vmlinux.ctfa"
> +
> +if [[ ! -f "$ctf" ]]; then
> + echo "CTF not found in expected location of $ctf" >&2
> + exit 67
> +fi
> +
> +# If this is not an ELF file, turn it into one so objdump works.
> +if ! [[ "$(file "$ctf")" =~ ELF ]]; then
> + objcopy --add-section=.ctf="$ctf" /bin/true $tmpdir/ctf
> + ctf=$tmpdir/ctf
> +fi
> +
> +# Dump the CTF
> +objdump --ctf --ctf-parent=shared_ctf "$ctf" 2>/dev/null | \
> + awk '
> +BEGIN {
> + intypes=0;
> +}
> +
> +/^ Strings:|^CTF archive member:/ {
> + intypes = 0;
> +}
> +# Scan for each member, capture its name.
> +/^CTF archive member: / {
> + member=gensub (/CTF archive member: (.*):/,"\\1", "g");
> + next;
> +}
> +# See if any non-shared dicts have any types in.
> +/^ Types:/ {
> + if (member != "shared_ctf") {
> + intypes=1;
> + }
> +}
> +/^ 0x/ {
> + if (intypes) {
> + exit (0);
> + }
> +}
> +END {
> + if (!intypes) {
> + printf ("No non-shared-dict types found: probably buggy deduplicator.\n");
> + exit (1);
> + }
> +}'
> --
> 2.47.1.279.g84c5f4e78e
>
>
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel@oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel
next prev parent reply other threads:[~2025-01-09 17:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 16:47 [PATCH] tests: add test for buggy deduplicator Nick Alcock
2025-01-09 17:09 ` Kris Van Hees [this message]
2025-03-18 18:17 ` Kris Van Hees
2025-03-18 18:59 ` Eugene Loh
2025-03-18 19:01 ` Kris Van Hees
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z4ACtZM4LgprWyCO@oracle.com \
--to=kris.van.hees@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
--cc=nick.alcock@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox