[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#748831: RFS: crashme/2.7-1 [ITA]



* Dariusz Dwornikowski <dariusz.dwornikowski@cs.put.poznan.pl>, 2014-05-21, 13:48:
If you listed files to remove in debian/clean, you could avoid the override in debian/rules.
Yes, fixed that too. Settled for d/rules.

Well, now I can't build the source package:

rm -f *.o
rm -f pddet
rm debian/upstream
rm: cannot remove ‘debian/upstream’: No such file or directory
debian/rules:13: recipe for target 'override_dh_auto_clean' failed


What happened to debian/patch/legacy.patch?

Upstream writes:

2.7     4-APR-2014  __APPLE__ port, fix linux 64 bit port.

I wonder how badly broken is the package in the archive (2.4). My understanding is that it's completely useless on some architectures, because it doesn't actually stress-test anything; but I might be wrong.

The relevant fix appears to be:

#if defined(__APPLE__) || defined(__FreeBSD__) || defined(linux)
/* if we don't do this on the 64-bit architectures
   then all we get out of our badboy() calls
   is a nice safe "bus error" signal.
*/
int pagesize;
pagesize = getpagesize();
if (mprotect((void *)((((long)data)/pagesize)*pagesize),
             ((n/pagesize)+1)*pagesize,
             PROT_READ|PROT_WRITE|PROT_EXEC))
  perror("mprotect");
#endif

Shouldn't we run this code also on non-Linux architectures? At least on kfreebsd-amd64, heap is not executable by default, which is what this code is trying to work around.

--
Jakub Wilk


Reply to: