Digital > Fefes Blog 2.0 > ba669e85
  Leserreporter: Wer schöne Verschwörungslinks für mich hat: ab an felix-bloginput (at) fefe.de!
[zurück][ältere Posting][neuere Posting]  Dienstag, 20 Juni 2006 | Blog: 18 | No: 5612     feed-image

Man kann also sagen, daß ihre beschissene Performance tatsächlich Sicherheitshintergründe hat!

Bug der Woche (von Ilja gefunden, der Mann hat echt zu viel Zeit), und zwar in der ptrace-Implementation von OpenBSD:
  CASE PT_SETREGS:
[...]
error = copyin(SCARG(uap, addr), regs, sizeof(*regs));
if (error == 0) {
PHOLD(p);
error = process_write_regs(t,regs);
PRELE(p);
OpenBSD lockt den falschen Prozeß, p. Sie sollten t locken, und zwar bevor sie copyin machen (das kann blocken, und in der Zeit kann der getracete Prozeß enden und so viele neue gestartet werden, daß einer von ihnen seine struct an der richtigen Stelle hat), und dann schreibt dieser Code die Register in den falschen Prozeß rein. Ich vermute mal, daß das im Moment noch nichts ausmacht, weil OpenBSD ein Kernel-Locking-Modell aus den 70ies hat, wo es nur einen großen Kernel Lock gibt. Man kann also sagen, daß ihre beschissene Performance tatsächlich Sicherheitshintergründe hat!!
Ilja ist der Meinung, daß während copyin Paging auslöst auch andere Syscalls gemacht werden können. Ich glaube das, wenn ich es sehe. Welchen Sinn hätte ein großer Kernel Lock dann. Na mal gucken, wir werden das klären.

[zurück] [ältere Posting][neuere Posting]
[zurück] [ältere Posting][neuere Posting]

Fefes Latest Youtube Video Links