From 0d3a3a4eeeadb1e95f94e2ed2adef3d91e2eabd8 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 19 Apr 2018 00:53:27 +0200 Subject: [PATCH] 3.2-11 - Add rhbz1549063.patch (/bin/env -> /usr/bin/env) - Add rhbz1566745.patch (4.15 kernel tapset updates) - Enable accidentially disabled Suggests: kernel-devel again. --- rhbz1549063.patch | 32 ++++++++++++ rhbz1566745.patch | 125 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 rhbz1549063.patch create mode 100644 rhbz1566745.patch diff --git a/rhbz1549063.patch b/rhbz1549063.patch new file mode 100644 index 0000000..55a56f7 --- /dev/null +++ b/rhbz1549063.patch @@ -0,0 +1,32 @@ +commit d6492e78bd50e923963e3c7aa235100a208f4775 +Author: Mark Wielaard +Date: Mon Feb 26 11:31:44 2018 +0100 + + testsuite: Use /usr/bin/env everywhere. + + bz5274.stp and bz5274.a.stp where still using /bin/env instead of + /usr/bin/env like every other testsuite file. + + The latest coreutils in rawhide dropped old /bin/* provides. + https://bugzilla.redhat.com/show_bug.cgi?id=1549063 + +diff --git a/testsuite/systemtap.base/bz5274.a.stp b/testsuite/systemtap.base/bz5274.a.stp +index 1d3aefc..e6365e4 100755 +--- a/testsuite/systemtap.base/bz5274.a.stp ++++ b/testsuite/systemtap.base/bz5274.a.stp +@@ -1,4 +1,4 @@ +-#! /bin/env stap ++#! /usr/bin/env stap + probe process("./bz5274").function("funcb").call, + process("./bz5274").function("funcc").call, + process("./bz5274").function("funcd").call +diff --git a/testsuite/systemtap.base/bz5274.stp b/testsuite/systemtap.base/bz5274.stp +index b3e26d8..2f62cbc 100755 +--- a/testsuite/systemtap.base/bz5274.stp ++++ b/testsuite/systemtap.base/bz5274.stp +@@ -1,4 +1,4 @@ +-#! /bin/env stap ++#! /usr/bin/env stap + probe process("./bz5274").function("*").call { + printf("%s Entering %s\n", pp(), thread_indent(1)) + } diff --git a/rhbz1566745.patch b/rhbz1566745.patch new file mode 100644 index 0000000..bf3744f --- /dev/null +++ b/rhbz1566745.patch @@ -0,0 +1,125 @@ +commit 0f8139eb4bd06a19714608b5f246fc24fcafde6e +Author: David Smith +Date: Thu Dec 7 16:07:39 2017 -0600 + + Updated several tapsets for the 4.15 kernel. + + * tapset/linux/linuxmib.stp: Update the 'DelayedACKs' probes to handle + a missing '$data' parameter. + * tapset/linux/memory.stp: Handle missing '__GFP_COLD' flag. + * tapset/linux/nfsd.stp: Update the 'nfsd.proc4.rename' probe to handle + upstream changes. + * tapset/linux/signal.stp: Update the 'signal.pending' probe to handle a + missing '$sigsestsize' parameter. + +diff --git a/tapset/linux/linuxmib.stp b/tapset/linux/linuxmib.stp +index ef09929..63ec248 100644 +--- a/tapset/linux/linuxmib.stp ++++ b/tapset/linux/linuxmib.stp +@@ -1,6 +1,6 @@ + /* + * Copyright (C) 2009 IBM Corp. +- * Copyright (C) 2010 Red Hat Inc. ++ * Copyright (C) 2010-2017 Red Hat Inc. + * + * This file is part of systemtap, and is free software. You can + * redistribute it and/or modify it under the terms of the GNU General +@@ -39,14 +39,18 @@ probe _linuxmib.DelayedACKs.A = kernel.function("tcp_send_ack") + + probe _linuxmib.DelayedACKs.B = kernel.function("tcp_delack_timer") + { +- sk=$data ++ sk=@choose_defined($data, ++ &@container_of($t, "inet_connection_sock", ++ icsk_delack_timer)->icsk_inet->sk) + indelack_timer[sk]=1 + op=0 + } + + probe _linuxmib.DelayedACKs.C = kernel.function("tcp_delack_timer").return + { +- sk=@entry($data) ++ sk=@entry(@choose_defined($data, ++ &@container_of($t, "inet_connection_sock", ++ icsk_delack_timer)->icsk_inet->sk)) + indelack_timer[sk]=0; + op=0 + } +diff --git a/tapset/linux/memory.stp b/tapset/linux/memory.stp +index b968fe3..169d0f1 100644 +--- a/tapset/linux/memory.stp ++++ b/tapset/linux/memory.stp +@@ -1,7 +1,7 @@ + // memory/vm related tapset + // Copyright (C) 2005, 2006 IBM Corp. + // Copyright (C) 2006 Intel Corporation. +-// Copyright (C) 2014 Red Hat Inc. ++// Copyright (C) 2014-2017 Red Hat Inc. + // + // This file is part of systemtap, and is free software. You can + // redistribute it and/or modify it under the terms of the GNU General +@@ -368,7 +368,9 @@ probe vm.oom_kill = kernel.function("oom_kill_process") !, + __GFP_BITMASKS(__GFP_HIGH) + __GFP_BITMASKS(__GFP_IO) + __GFP_BITMASKS(__GFP_FS) ++#ifdef __GFP_COLD + __GFP_BITMASKS(__GFP_COLD) ++#endif + __GFP_BITMASKS(__GFP_NOWARN) + #ifdef __GFP_RETRY_MAYFAIL + __GFP_BITMASKS(__GFP_RETRY_MAYFAIL) +diff --git a/tapset/linux/nfsd.stp b/tapset/linux/nfsd.stp +index 3df1600..5a70e84 100644 +--- a/tapset/linux/nfsd.stp ++++ b/tapset/linux/nfsd.stp +@@ -1262,18 +1262,26 @@ probe nfsd.proc4.rename = kernel.function("nfsd4_rename").call !, + fh = & @nfsd4_compound_state($cstate)->save_fh + tfh = & @nfsd4_compound_state($cstate)->current_fh + +- filelen = $rename->rn_snamelen +- filename = kernel_string_n($rename->rn_sname, $rename->rn_snamelen) +- tlen = $rename->rn_tnamelen +- tname = kernel_string_n($rename->rn_tname, $rename->rn_tnamelen) ++ if (@defined($rename)) { ++ filelen = $rename->rn_snamelen ++ filename = kernel_string_n($rename->rn_sname, ++ $rename->rn_snamelen) ++ tlen = $rename->rn_tnamelen ++ tname = kernel_string_n($rename->rn_tname, $rename->rn_tnamelen) ++ } else { ++ filelen = $u->rename->rn_snamelen ++ filename = kernel_string_n($u->rename->rn_sname, ++ $u->rename->rn_snamelen) ++ tlen = $u->rename->rn_tnamelen ++ tname = kernel_string_n($u->rename->rn_tname, ++ $u->rename->rn_tnamelen) ++ } + + uid = __rqstp_uid($rqstp) + gid = __rqstp_gid($rqstp) + + name = "nfsd.proc4.rename" +- argstr = sprintf("%s to %s", +- kernel_string_n($rename->rn_sname, $rename->rn_snamelen), +- kernel_string_n($rename->rn_tname, $rename->rn_tnamelen)) ++ argstr = sprintf("%s to %s", filename, tname) + } + + probe nfsd.proc4.rename.return = +diff --git a/tapset/linux/signal.stp b/tapset/linux/signal.stp +index 9a94bad..4f9f9f9 100644 +--- a/tapset/linux/signal.stp ++++ b/tapset/linux/signal.stp +@@ -613,7 +613,11 @@ probe signal.pending = kernel.function("do_sigpending").call !, + { + name = "pending" + sigset_add=@choose_defined($set, $uset) +- sigset_size=$sigsetsize ++ ++ # Note that this isn't 100% correct if $sigsetsize doesn't ++ # exist (in the case of newer do_sigpending() calls). Instead, ++ # we're returning the default size of a sigset_t. ++ sigset_size=@choose_defined($sigsetsize, @cast_sizeof("sigset_t")) + } + + /**