* [Qemu-devel] [PATCH 0/2] memset/sizeof abuse @ 2012-05-10 16:19 Jim Meyering 2012-05-10 16:19 ` [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset Jim Meyering 2012-05-10 16:19 ` [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun Jim Meyering 0 siblings, 2 replies; 11+ messages in thread From: Jim Meyering @ 2012-05-10 16:19 UTC (permalink / raw) To: qemu-devel; +Cc: Jim Meyering From: Jim Meyering <meyering@redhat.com> I ran coverity on all of qemu and have begun going through the results. A couple problems jumped out as obvious and easy to fix: Jim Meyering (2): kvm/apic: correct short memset cadence_gem: avoid stack-writing buffer-overrun hw/cadence_gem.c | 2 +- hw/kvm/apic.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 1.7.10.1.487.ga3935e6 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset 2012-05-10 16:19 [Qemu-devel] [PATCH 0/2] memset/sizeof abuse Jim Meyering @ 2012-05-10 16:19 ` Jim Meyering 2012-05-10 17:28 ` Jan Kiszka 2012-06-11 9:58 ` [Qemu-devel] [PATCH " Avi Kivity 2012-05-10 16:19 ` [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun Jim Meyering 1 sibling, 2 replies; 11+ messages in thread From: Jim Meyering @ 2012-05-10 16:19 UTC (permalink / raw) To: qemu-devel Cc: Jim Meyering, Jan Kiszka, Anthony Liguori, Andreas Färber, Avi Kivity From: Jim Meyering <meyering@redhat.com> kvm_put_apic_state's attempt to clear *kapic before setting its bits cleared sizeof(void*) bytes (no more than 8) rather than the intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. Signed-off-by: Jim Meyering <meyering@redhat.com> --- hw/kvm/apic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c index ffe7a52..a0ab503 100644 --- a/hw/kvm/apic.c +++ b/hw/kvm/apic.c @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); int i; - memset(kapic, 0, sizeof(kapic)); + memset(kapic, 0, sizeof(*kapic)); kvm_apic_set_reg(kapic, 0x2, s->id << 24); kvm_apic_set_reg(kapic, 0x8, s->tpr); kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24); -- 1.7.10.1.487.ga3935e6 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset 2012-05-10 16:19 ` [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset Jim Meyering @ 2012-05-10 17:28 ` Jan Kiszka 2012-05-22 20:30 ` [Qemu-devel] [PATCH 1.1 " Stefan Weil 2012-06-11 9:58 ` [Qemu-devel] [PATCH " Avi Kivity 1 sibling, 1 reply; 11+ messages in thread From: Jan Kiszka @ 2012-05-10 17:28 UTC (permalink / raw) To: Jim Meyering Cc: Jim Meyering, Anthony Liguori, qemu-devel@nongnu.org, Avi Kivity, Andreas Färber On 2012-05-10 13:19, Jim Meyering wrote: > From: Jim Meyering <meyering@redhat.com> > > kvm_put_apic_state's attempt to clear *kapic before setting its > bits cleared sizeof(void*) bytes (no more than 8) rather than the > intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. > > Signed-off-by: Jim Meyering <meyering@redhat.com> > --- > hw/kvm/apic.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c > index ffe7a52..a0ab503 100644 > --- a/hw/kvm/apic.c > +++ b/hw/kvm/apic.c > @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) > APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); > int i; > > - memset(kapic, 0, sizeof(kapic)); > + memset(kapic, 0, sizeof(*kapic)); > kvm_apic_set_reg(kapic, 0x2, s->id << 24); > kvm_apic_set_reg(kapic, 0x8, s->tpr); > kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24); Yep, that's what I actually meant... Thanks, Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1.1 1/2] kvm/apic: correct short memset 2012-05-10 17:28 ` Jan Kiszka @ 2012-05-22 20:30 ` Stefan Weil 2012-05-23 10:33 ` Jan Kiszka 0 siblings, 1 reply; 11+ messages in thread From: Stefan Weil @ 2012-05-22 20:30 UTC (permalink / raw) To: Anthony Liguori Cc: Jim Meyering, Jan Kiszka, qemu-devel@nongnu.org, Andreas Färber, Avi Kivity Am 10.05.2012 19:28, schrieb Jan Kiszka: > On 2012-05-10 13:19, Jim Meyering wrote: > >> From: Jim Meyering<meyering@redhat.com> >> >> kvm_put_apic_state's attempt to clear *kapic before setting its >> bits cleared sizeof(void*) bytes (no more than 8) rather than the >> intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. >> >> Signed-off-by: Jim Meyering<meyering@redhat.com> >> --- >> hw/kvm/apic.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c >> index ffe7a52..a0ab503 100644 >> --- a/hw/kvm/apic.c >> +++ b/hw/kvm/apic.c >> @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) >> APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); >> int i; >> >> - memset(kapic, 0, sizeof(kapic)); >> + memset(kapic, 0, sizeof(*kapic)); >> kvm_apic_set_reg(kapic, 0x2, s->id<< 24); >> kvm_apic_set_reg(kapic, 0x8, s->tpr); >> kvm_apic_set_reg(kapic, 0xd, s->log_dest<< 24); >> > Yep, that's what I actually meant... > > Thanks, > Jan > > Reviewed-by: Stefan Weil <sw@weilnetz.de> Hello Anthony, this patch should be committed to QEMU 1.1. I had sent a patch with the same fix 6 days later. Regards, Stefan W. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1.1 1/2] kvm/apic: correct short memset 2012-05-22 20:30 ` [Qemu-devel] [PATCH 1.1 " Stefan Weil @ 2012-05-23 10:33 ` Jan Kiszka 2012-06-10 20:29 ` Stefan Weil 0 siblings, 1 reply; 11+ messages in thread From: Jan Kiszka @ 2012-05-23 10:33 UTC (permalink / raw) To: Stefan Weil, Anthony Liguori Cc: Jim Meyering, qemu-devel@nongnu.org, Andreas Färber, Avi Kivity On 2012-05-22 17:30, Stefan Weil wrote: > Am 10.05.2012 19:28, schrieb Jan Kiszka: >> On 2012-05-10 13:19, Jim Meyering wrote: >> >>> From: Jim Meyering<meyering@redhat.com> >>> >>> kvm_put_apic_state's attempt to clear *kapic before setting its >>> bits cleared sizeof(void*) bytes (no more than 8) rather than the >>> intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. >>> >>> Signed-off-by: Jim Meyering<meyering@redhat.com> >>> --- >>> hw/kvm/apic.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c >>> index ffe7a52..a0ab503 100644 >>> --- a/hw/kvm/apic.c >>> +++ b/hw/kvm/apic.c >>> @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) >>> APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); >>> int i; >>> >>> - memset(kapic, 0, sizeof(kapic)); >>> + memset(kapic, 0, sizeof(*kapic)); >>> kvm_apic_set_reg(kapic, 0x2, s->id<< 24); >>> kvm_apic_set_reg(kapic, 0x8, s->tpr); >>> kvm_apic_set_reg(kapic, 0xd, s->log_dest<< 24); >>> >> Yep, that's what I actually meant... >> >> Thanks, >> Jan >> >> > > Reviewed-by: Stefan Weil <sw@weilnetz.de> > > Hello Anthony, > > this patch should be committed to QEMU 1.1. > I had sent a patch with the same fix 6 days later. Thanks for reminding. Yes, please merge! Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1.1 1/2] kvm/apic: correct short memset 2012-05-23 10:33 ` Jan Kiszka @ 2012-06-10 20:29 ` Stefan Weil 2012-06-11 5:29 ` Jan Kiszka 0 siblings, 1 reply; 11+ messages in thread From: Stefan Weil @ 2012-06-10 20:29 UTC (permalink / raw) To: Anthony Liguori Cc: Jim Meyering, Jan Kiszka, qemu-devel@nongnu.org, Blue Swirl, Avi Kivity, Andreas Färber Am 23.05.2012 12:33, schrieb Jan Kiszka: > On 2012-05-22 17:30, Stefan Weil wrote: >> Am 10.05.2012 19:28, schrieb Jan Kiszka: >>> On 2012-05-10 13:19, Jim Meyering wrote: >>> >>>> From: Jim Meyering<meyering@redhat.com> >>>> >>>> kvm_put_apic_state's attempt to clear *kapic before setting its >>>> bits cleared sizeof(void*) bytes (no more than 8) rather than the >>>> intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. >>>> >>>> Signed-off-by: Jim Meyering<meyering@redhat.com> >>>> --- >>>> hw/kvm/apic.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c >>>> index ffe7a52..a0ab503 100644 >>>> --- a/hw/kvm/apic.c >>>> +++ b/hw/kvm/apic.c >>>> @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) >>>> APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); >>>> int i; >>>> >>>> - memset(kapic, 0, sizeof(kapic)); >>>> + memset(kapic, 0, sizeof(*kapic)); >>>> kvm_apic_set_reg(kapic, 0x2, s->id<< 24); >>>> kvm_apic_set_reg(kapic, 0x8, s->tpr); >>>> kvm_apic_set_reg(kapic, 0xd, s->log_dest<< 24); >>>> >>> Yep, that's what I actually meant... >>> >>> Thanks, >>> Jan >>> >>> >> >> Reviewed-by: Stefan Weil<sw@weilnetz.de> >> >> Hello Anthony, >> >> this patch should be committed to QEMU 1.1. >> I had sent a patch with the same fix 6 days later. > > Thanks for reminding. Yes, please merge! > > Jan Ping? This is one of the bug fixes which is missing in QEMU 1.1, and it is also missing in latest QEMU git master. What can be done to get it committed? Cheers, Stefan W. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1.1 1/2] kvm/apic: correct short memset 2012-06-10 20:29 ` Stefan Weil @ 2012-06-11 5:29 ` Jan Kiszka 0 siblings, 0 replies; 11+ messages in thread From: Jan Kiszka @ 2012-06-11 5:29 UTC (permalink / raw) To: Avi Kivity, Marcelo Tosatti Cc: Anthony Liguori, Jim Meyering, Stefan Weil, qemu-devel@nongnu.org, Blue Swirl, Andreas Färber On 2012-06-10 22:29, Stefan Weil wrote: > Am 23.05.2012 12:33, schrieb Jan Kiszka: >> On 2012-05-22 17:30, Stefan Weil wrote: >>> Am 10.05.2012 19:28, schrieb Jan Kiszka: >>>> On 2012-05-10 13:19, Jim Meyering wrote: >>>> >>>>> From: Jim Meyering<meyering@redhat.com> >>>>> >>>>> kvm_put_apic_state's attempt to clear *kapic before setting its >>>>> bits cleared sizeof(void*) bytes (no more than 8) rather than the >>>>> intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. >>>>> >>>>> Signed-off-by: Jim Meyering<meyering@redhat.com> >>>>> --- >>>>> hw/kvm/apic.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/hw/kvm/apic.c b/hw/kvm/apic.c >>>>> index ffe7a52..a0ab503 100644 >>>>> --- a/hw/kvm/apic.c >>>>> +++ b/hw/kvm/apic.c >>>>> @@ -29,7 +29,7 @@ void kvm_put_apic_state(DeviceState *d, struct kvm_lapic_state *kapic) >>>>> APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d); >>>>> int i; >>>>> >>>>> - memset(kapic, 0, sizeof(kapic)); >>>>> + memset(kapic, 0, sizeof(*kapic)); >>>>> kvm_apic_set_reg(kapic, 0x2, s->id<< 24); >>>>> kvm_apic_set_reg(kapic, 0x8, s->tpr); >>>>> kvm_apic_set_reg(kapic, 0xd, s->log_dest<< 24); >>>>> >>>> Yep, that's what I actually meant... >>>> >>>> Thanks, >>>> Jan >>>> >>>> >>> >>> Reviewed-by: Stefan Weil<sw@weilnetz.de> >>> >>> Hello Anthony, >>> >>> this patch should be committed to QEMU 1.1. >>> I had sent a patch with the same fix 6 days later. >> >> Thanks for reminding. Yes, please merge! >> >> Jan > > > Ping? > > This is one of the bug fixes which is missing in QEMU 1.1, > and it is also missing in latest QEMU git master. > > What can be done to get it committed? Avi or Marcelo, please queue in uq/master and send a pull soon! That reminds me that [1] is still awaiting comments (and further testing). Critical for qemu-kvm 1.1 and qemu 1.1.1 as well. Jan [1] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/92036 -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset 2012-05-10 16:19 ` [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset Jim Meyering 2012-05-10 17:28 ` Jan Kiszka @ 2012-06-11 9:58 ` Avi Kivity 1 sibling, 0 replies; 11+ messages in thread From: Avi Kivity @ 2012-06-11 9:58 UTC (permalink / raw) To: Jim Meyering Cc: Jim Meyering, Jan Kiszka, Anthony Liguori, qemu-devel, Andreas Färber On 05/10/2012 07:19 PM, Jim Meyering wrote: > From: Jim Meyering <meyering@redhat.com> > > kvm_put_apic_state's attempt to clear *kapic before setting its > bits cleared sizeof(void*) bytes (no more than 8) rather than the > intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. Thanks, applied to uq/master. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun 2012-05-10 16:19 [Qemu-devel] [PATCH 0/2] memset/sizeof abuse Jim Meyering 2012-05-10 16:19 ` [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset Jim Meyering @ 2012-05-10 16:19 ` Jim Meyering 2012-05-14 4:57 ` Peter Crosthwaite 1 sibling, 1 reply; 11+ messages in thread From: Jim Meyering @ 2012-05-10 16:19 UTC (permalink / raw) To: qemu-devel; +Cc: Jim Meyering, Peter Crosthwaite From: Jim Meyering <meyering@redhat.com> Use sizeof(rxbuf)-size (not sizeof(rxbuf-size)) as the number of bytes to clear. The latter would always clear 4 or 8 bytes, possibly writing beyond the end of that stack buffer. Alternatively, depending on the value of the "size" parameter, it could fail to initialize the end of "rxbuf". Spotted by coverity. Signed-off-by: Jim Meyering <meyering@redhat.com> --- hw/cadence_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c index e2140ae..dbde392 100644 --- a/hw/cadence_gem.c +++ b/hw/cadence_gem.c @@ -664,7 +664,7 @@ static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf, size_t size) */ memcpy(rxbuf, buf, size); - memset(rxbuf + size, 0, sizeof(rxbuf - size)); + memset(rxbuf + size, 0, sizeof(rxbuf) - size); rxbuf_ptr = rxbuf; crc_val = cpu_to_le32(crc32(0, rxbuf, MAX(size, 60))); if (size < 60) { -- 1.7.10.1.487.ga3935e6 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun 2012-05-10 16:19 ` [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun Jim Meyering @ 2012-05-14 4:57 ` Peter Crosthwaite 2012-06-10 20:34 ` Stefan Weil 0 siblings, 1 reply; 11+ messages in thread From: Peter Crosthwaite @ 2012-05-14 4:57 UTC (permalink / raw) To: Jim Meyering; +Cc: Jim Meyering, qemu-devel ACK and Thanks Jim, Reviewed-by: Peter A.G. Crosthwaite <peter.crosthwaite@petalogix.com> On Fri, May 11, 2012 at 2:19 AM, Jim Meyering <jim@meyering.net> wrote: > From: Jim Meyering <meyering@redhat.com> > > Use sizeof(rxbuf)-size (not sizeof(rxbuf-size)) as the number > of bytes to clear. The latter would always clear 4 or 8 > bytes, possibly writing beyond the end of that stack buffer. > Alternatively, depending on the value of the "size" parameter, > it could fail to initialize the end of "rxbuf". > Spotted by coverity. > > Signed-off-by: Jim Meyering <meyering@redhat.com> > --- > hw/cadence_gem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c > index e2140ae..dbde392 100644 > --- a/hw/cadence_gem.c > +++ b/hw/cadence_gem.c > @@ -664,7 +664,7 @@ static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf, size_t size) > */ > > memcpy(rxbuf, buf, size); > - memset(rxbuf + size, 0, sizeof(rxbuf - size)); > + memset(rxbuf + size, 0, sizeof(rxbuf) - size); > rxbuf_ptr = rxbuf; > crc_val = cpu_to_le32(crc32(0, rxbuf, MAX(size, 60))); > if (size < 60) { > -- > 1.7.10.1.487.ga3935e6 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun 2012-05-14 4:57 ` Peter Crosthwaite @ 2012-06-10 20:34 ` Stefan Weil 0 siblings, 0 replies; 11+ messages in thread From: Stefan Weil @ 2012-06-10 20:34 UTC (permalink / raw) To: Anthony Liguori; +Cc: Blue Swirl, Jim Meyering, Peter Crosthwaite, qemu-devel Am 14.05.2012 06:57, schrieb Peter Crosthwaite: > ACK and Thanks Jim, > > Reviewed-by: Peter A.G. Crosthwaite<peter.crosthwaite@petalogix.com> > > On Fri, May 11, 2012 at 2:19 AM, Jim Meyering<jim@meyering.net> wrote: > >> From: Jim Meyering<meyering@redhat.com> >> >> Use sizeof(rxbuf)-size (not sizeof(rxbuf-size)) as the number >> of bytes to clear. The latter would always clear 4 or 8 >> bytes, possibly writing beyond the end of that stack buffer. >> Alternatively, depending on the value of the "size" parameter, >> it could fail to initialize the end of "rxbuf". >> Spotted by coverity. >> >> Signed-off-by: Jim Meyering<meyering@redhat.com> >> --- >> hw/cadence_gem.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c >> index e2140ae..dbde392 100644 >> --- a/hw/cadence_gem.c >> +++ b/hw/cadence_gem.c >> @@ -664,7 +664,7 @@ static ssize_t gem_receive(VLANClientState *nc, const uint8_t *buf, size_t size) >> */ >> >> memcpy(rxbuf, buf, size); >> - memset(rxbuf + size, 0, sizeof(rxbuf - size)); >> + memset(rxbuf + size, 0, sizeof(rxbuf) - size); >> rxbuf_ptr = rxbuf; >> crc_val = cpu_to_le32(crc32(0, rxbuf, MAX(size, 60))); >> if (size< 60) { >> -- >> 1.7.10.1.487.ga3935e6 >> Ping. This patch is still missing in 1.1 and master. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-06-11 9:58 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-05-10 16:19 [Qemu-devel] [PATCH 0/2] memset/sizeof abuse Jim Meyering 2012-05-10 16:19 ` [Qemu-devel] [PATCH 1/2] kvm/apic: correct short memset Jim Meyering 2012-05-10 17:28 ` Jan Kiszka 2012-05-22 20:30 ` [Qemu-devel] [PATCH 1.1 " Stefan Weil 2012-05-23 10:33 ` Jan Kiszka 2012-06-10 20:29 ` Stefan Weil 2012-06-11 5:29 ` Jan Kiszka 2012-06-11 9:58 ` [Qemu-devel] [PATCH " Avi Kivity 2012-05-10 16:19 ` [Qemu-devel] [PATCH 2/2] cadence_gem: avoid stack-writing buffer-overrun Jim Meyering 2012-05-14 4:57 ` Peter Crosthwaite 2012-06-10 20:34 ` Stefan Weil
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).