[linux-l] ftp dirt nicht

Hauke Laging mailinglisten at hauke-laging.de
Mo Jul 8 00:14:30 CEST 2019


Moin,

Problem gelöst, das ist offensichtlich ein Bug.

Am Donnerstag, 4. Juli 2019, 07:33:30 CEST schrieb Boris Kirkorowicz:
> 25378 write(0, "150 Here comes the directory lis"..., 39) = 39
> 25378 getdents64(3 <unfinished ...>)    = ?
> 25378 +++ killed by SIGSYS +++

wir sehen hier nicht den Grund, aber dass der Serverprozess versucht, den 
Verzeichnisinhalt zu lesen, und dabei von irgendwas weggerotzt wird.

Normale Fehler führen nicht zur Beendigung des Prozesses, sondern zu einem 
Fehlercode des Syscall. Die Bedeutung von SIGSYS führt hier auf die richtige 
Spur:

SIGSYS             Core    Bad system call (SVr4);
                                       see also seccomp(2)

Und siehe da:

25378 prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=192, 
filter=0x7ffda822cc70}) = 0

Der Serverprozess weist den Kernel an, ihn kaltzumachen, falls er einen 
Syscall ausführt, der nicht mit dem prctl "gewhitelistet" wurde. Dann ist es 
natürlich extrem dumm, einen der illegalen Syscalls später durchzuführen...

Das ist aus meiner Sicht auf jeden Fall ein Bug. Der Prozess müsste erkennen, 
dass er ls nicht ausführen kann und das melden. Vielleicht gibt es 
irgendwelche Konfigurationsoptionen, die das einschalten und übers Ziel 
hinausschießen. Es bietet sich an, einen Bugreport zu machen (nach Sichtung 
der Konfiguration).


CU

Hauke




Mehr Informationen über die Mailingliste linux-l