[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