retitle 288559 hping2: Scan mode sometimes unreliable on !i386
thanks, control

After extended debugging (thanks to Benoît Dejean), it turns out that
this is caused by the fact that hping shares a memory zone between the
parent and child processes during the scan, and doesn't protect
concurrent accesses.  Combined with floating-point arithmetic, this
sometimes results in funny values being written in the RTT counter in
the memory zone, which can lead to a SEGV on !i386 archs.

This is mentioned in scan.c:

/* Note that a mutex can't be used with shared memory (on Linux), the only left
 * option is a semaphore, but I tried to protect the critical code
 * using the functions above: the scanner becomes too slow. For now
 * it's better to have nothing at all, for the future we need something
 * like a spinlock. (btw, note that the code should be safe on x86) */

[...]

/* The avrg RTT is shared using shared memory,
 * no locking... */

Upstream will probably fix this bug in a future release.  People who
really need to use the scan mode on !i386 can use nmap instead.

-- 
  ,''`.
 : :' :        Romain Francoise <[EMAIL PROTECTED]>
 `. `'         http://people.debian.org/~rfrancoise/
   `-

Reply via email to