Pino Toscano
2014-Oct-22 15:30 UTC
[Libguestfs] [PATCH] tests/regressions: Remove executable stack test.
From: "Richard W.M. Jones" <rjones@redhat.com> It's not our job to worry about downstream packaging issues ... --- tests/regressions/Makefile.am | 6 +-- tests/regressions/test-noexec-stack.pl | 84 ---------------------------------- 2 files changed, 2 insertions(+), 88 deletions(-) delete mode 100755 tests/regressions/test-noexec-stack.pl diff --git a/tests/regressions/Makefile.am b/tests/regressions/Makefile.am index a5e7cfc..661f6f9 100644 --- a/tests/regressions/Makefile.am +++ b/tests/regressions/Makefile.am @@ -41,8 +41,7 @@ EXTRA_DIST = \ rhbz1044014.in \ rhbz1044014.xml \ rhbz1054761.sh \ - rhbz1091803.sh \ - test-noexec-stack.pl + rhbz1091803.sh TESTS = \ rhbz501893 \ @@ -65,8 +64,7 @@ TESTS = \ rhbz1001875.sh \ rhbz1054761.sh \ rhbz1055452 \ - rhbz1091803.sh \ - test-noexec-stack.pl + rhbz1091803.sh if HAVE_LIBVIRT TESTS += rhbz1044014.sh diff --git a/tests/regressions/test-noexec-stack.pl b/tests/regressions/test-noexec-stack.pl deleted file mode 100755 index 68bbb0b..0000000 --- a/tests/regressions/test-noexec-stack.pl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/perl -# Copyright (C) 2009 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -use strict; -use warnings; - -if ($ENV{SKIP_TEST_NOEXEC_STACK_PL}) { - print "$0: skipped test because environment variable is set\n"; - exit 77; -} - -die("NOEXEC_CHECK not set") unless(exists($ENV{NOEXEC_CHECK})); - -my @files = split(/ /, $ENV{NOEXEC_CHECK}); - -FILES: foreach my $file (@files) { - my $output; - my @cmd = ('readelf', '-l', $file); - open($output, '-|', @cmd) - or die("$0: failed to run: '".join(' ', @cmd)."': $!\n"); - - my $offset; - my $line = 1; - - # Find the offset of the Flags field - while(<$output>) { - next unless(/^\s*Type\b/); - - my @lines; - push(@lines, $_); - - # Look for a Flg field on this line (32 bit) - $offset = index($_, 'Flg '); - - if(-1 == $offset) { - # 64 bit is split over 2 lines. Look for a Flags field on the next - # line - $_ = <$output>; - $offset = index($_, 'Flags '); - $line = 2; - push(@lines, $_); - } - - die("Unrecognised header: ".join("\n", @lines)) if(-1 == $offset); - last; - } - - # Find the GNU_STACK entry - while(<$output>) { - next unless(/^\s*GNU_STACK\b/); - - # Skip over input lines according to the header - for(my $i = 1; $i < $line; $i++) { - $_ = <$output>; - } - - my $flags = substr($_, $offset, 3); - - $flags =~ /^[ R][ W]([ E])$/ or die("Unrecognised flags: $flags"); - - if('E' eq $1) { - print "***** $file has an executable stack *****\n"; - exit(1); - } - - next FILES; - } - - die("Didn't find GNU_STACK entry"); -} -- 1.9.3
Apparently Analagous Threads
- [PATCH v5 5/7] tests/regressions: Remove executable stack test.
- [PATCH v4 05/17] tests/regressions: Remove executable stack test.
- [PATCH] Add a test for an executable stack in libguestfs.so
- [PATCH] Add a regression test for RHBZ#1011907 / RHBZ#1165785
- [PATCH 2/2] lib: Add comment and regression test for case where main process has large heap.