search for: has_err

Displaying 18 results from an estimated 18 matches for "has_err".

2007 Aug 07
1
[PATCH] Fix Malicious Guest GDT Host Crash
...how we change from using the kernel code segment to using diff -r 55fdd7fa62b7 drivers/lguest/interrupts_and_traps.c --- a/drivers/lguest/interrupts_and_traps.c Mon Aug 06 16:38:47 2007 +1000 +++ b/drivers/lguest/interrupts_and_traps.c Wed Aug 08 13:22:53 2007 +1000 @@ -195,13 +195,16 @@ static int has_err(unsigned int trap) /* deliver_trap() returns true if it could deliver the trap. */ int deliver_trap(struct lguest *lg, unsigned int num) { - u32 lo = lg->idt[num].a, hi = lg->idt[num].b; + /* Trap numbers are always 8 bit, but we set an impossible trap number + * for traps inside the Swit...
2007 Aug 07
1
[PATCH] Fix Malicious Guest GDT Host Crash
...how we change from using the kernel code segment to using diff -r 55fdd7fa62b7 drivers/lguest/interrupts_and_traps.c --- a/drivers/lguest/interrupts_and_traps.c Mon Aug 06 16:38:47 2007 +1000 +++ b/drivers/lguest/interrupts_and_traps.c Wed Aug 08 13:22:53 2007 +1000 @@ -195,13 +195,16 @@ static int has_err(unsigned int trap) /* deliver_trap() returns true if it could deliver the trap. */ int deliver_trap(struct lguest *lg, unsigned int num) { - u32 lo = lg->idt[num].a, hi = lg->idt[num].b; + /* Trap numbers are always 8 bit, but we set an impossible trap number + * for traps inside the Swit...
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...Jul 21 11:12:01 2007 +1000 +++ b/drivers/lguest/interrupts_and_traps.c Sun Jul 22 20:47:51 2007 +1000 @@ -107,6 +107,7 @@ void maybe_do_interrupt(struct lguest *l clear_bit(irq, lg->irqs_pending); set_guest_interrupt(lg, idt->a, idt->b, 0); } + write_timestamp(lg); } static int has_err(unsigned int trap) diff -r 144835834edd drivers/lguest/lg.h --- a/drivers/lguest/lg.h Sat Jul 21 11:12:01 2007 +1000 +++ b/drivers/lguest/lg.h Sun Jul 22 20:49:03 2007 +1000 @@ -243,6 +243,7 @@ unsigned long get_dma_buffer(struct lgue /* hypercalls.c: */ void do_hypercalls(struct lguest *lg); +...
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...Jul 21 11:12:01 2007 +1000 +++ b/drivers/lguest/interrupts_and_traps.c Sun Jul 22 20:47:51 2007 +1000 @@ -107,6 +107,7 @@ void maybe_do_interrupt(struct lguest *l clear_bit(irq, lg->irqs_pending); set_guest_interrupt(lg, idt->a, idt->b, 0); } + write_timestamp(lg); } static int has_err(unsigned int trap) diff -r 144835834edd drivers/lguest/lg.h --- a/drivers/lguest/lg.h Sat Jul 21 11:12:01 2007 +1000 +++ b/drivers/lguest/lg.h Sun Jul 22 20:49:03 2007 +1000 @@ -243,6 +243,7 @@ unsigned long get_dma_buffer(struct lgue /* hypercalls.c: */ void do_hypercalls(struct lguest *lg); +...
2007 May 10
4
[PATCH 0/5] lguest feedback tidyups
Hi all, Gratefully-received recent feedback from CC'd was applied to excellent effect (and the advice from Matt Mackall about my personal appearance is best unrequited). The patch is split in 5 parts to correspond with the 9 parts Andrew sent out before, but here's the summary: 1) Sparse (thanks Christoph Hellwig): - lguest_const can be static now - lguest.c should include
2007 May 10
4
[PATCH 0/5] lguest feedback tidyups
Hi all, Gratefully-received recent feedback from CC'd was applied to excellent effect (and the advice from Matt Mackall about my personal appearance is best unrequited). The patch is split in 5 parts to correspond with the 9 parts Andrew sent out before, but here's the summary: 1) Sparse (thanks Christoph Hellwig): - lguest_const can be static now - lguest.c should include
2007 May 09
1
[patch 3/9] lguest: the host code
...gt; 8) & 0xF; +} + +static int idt_present(u32 lo, u32 hi) +{ + return (hi & 0x8000); +} + +static void push_guest_stack(struct lguest *lg, u32 __user **gstack, u32 val) +{ + lgwrite_u32(lg, (u32)--(*gstack), val); +} + +static void set_guest_interrupt(struct lguest *lg, u32 lo, u32 hi, int has_err) +{ + u32 __user *gstack; + u32 eflags, ss, irq_enable; + + /* If they want a ring change, we use new stack and push old ss/esp */ + if ((lg->regs->ss&0x3) != GUEST_PL) { + gstack = (u32 __user *)guest_pa(lg, lg->esp1); + ss = lg->ss1; + push_guest_stack(lg, &gstack, lg->r...
2007 May 09
1
[patch 3/9] lguest: the host code
...gt; 8) & 0xF; +} + +static int idt_present(u32 lo, u32 hi) +{ + return (hi & 0x8000); +} + +static void push_guest_stack(struct lguest *lg, u32 __user **gstack, u32 val) +{ + lgwrite_u32(lg, (u32)--(*gstack), val); +} + +static void set_guest_interrupt(struct lguest *lg, u32 lo, u32 hi, int has_err) +{ + u32 __user *gstack; + u32 eflags, ss, irq_enable; + + /* If they want a ring change, we use new stack and push old ss/esp */ + if ((lg->regs->ss&0x3) != GUEST_PL) { + gstack = (u32 __user *)guest_pa(lg, lg->esp1); + ss = lg->ss1; + push_guest_stack(lg, &gstack, lg->r...
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...ct lguest *lg, u32 __user **gstack, u32 val) -{ - lgwrite_u32(lg, (u32)--(*gstack), val); +static void push_guest_stack(struct lguest *lg, unsigned long *gstack, u32 val) +{ + *gstack -= 4; + lgwrite_u32(lg, *gstack, val); } static void set_guest_interrupt(struct lguest *lg, u32 lo, u32 hi, int has_err) { - u32 __user *gstack; + unsigned long gstack; u32 eflags, ss, irq_enable; /* If they want a ring change, we use new stack and push old ss/esp */ if ((lg->regs->ss&0x3) != GUEST_PL) { - gstack = (u32 __user *)guest_pa(lg, lg->esp1); + gstack = guest_pa(lg, lg->esp1);...
2007 May 14
5
[PATCH 1/6] lguest: host code tidyups
...ct lguest *lg, u32 __user **gstack, u32 val) -{ - lgwrite_u32(lg, (u32)--(*gstack), val); +static void push_guest_stack(struct lguest *lg, unsigned long *gstack, u32 val) +{ + *gstack -= 4; + lgwrite_u32(lg, *gstack, val); } static void set_guest_interrupt(struct lguest *lg, u32 lo, u32 hi, int has_err) { - u32 __user *gstack; + unsigned long gstack; u32 eflags, ss, irq_enable; /* If they want a ring change, we use new stack and push old ss/esp */ if ((lg->regs->ss&0x3) != GUEST_PL) { - gstack = (u32 __user *)guest_pa(lg, lg->esp1); + gstack = guest_pa(lg, lg->esp1);...
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...512; + + regs->rsp = pop_guest_stack(vcpu, &gstack); + regs->ss = pop_guest_stack(vcpu, &gstack); + + /* restore the rax reg, since it was used by the guest to do the hcall */ + regs->rax = vcpu->rax; + + return; +} + +int reflect_trap(struct lguest_vcpu *vcpu, int trap_num, int has_err) +{ + struct lguest_regs *regs = &vcpu->regs; + u64 __user *gstack; + u64 rflags, irq_enable; + u64 offset; + + if (!vcpu->interrupt[trap_num]) { + printk("Not yet registered trap handler for %d\n",trap_num); + return 0; + } + + /* save off the rax reg */ + vcpu->rax = regs...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...512; + + regs->rsp = pop_guest_stack(vcpu, &gstack); + regs->ss = pop_guest_stack(vcpu, &gstack); + + /* restore the rax reg, since it was used by the guest to do the hcall */ + regs->rax = vcpu->rax; + + return; +} + +int reflect_trap(struct lguest_vcpu *vcpu, int trap_num, int has_err) +{ + struct lguest_regs *regs = &vcpu->regs; + u64 __user *gstack; + u64 rflags, irq_enable; + u64 offset; + + if (!vcpu->interrupt[trap_num]) { + printk("Not yet registered trap handler for %d\n",trap_num); + return 0; + } + + /* save off the rax reg */ + vcpu->rax = regs...
2007 Sep 25
50
[patch 00/43] lguest: Patches for 2.6.24 (and patchbomb test)
Hi all, These are the patches I'm planning to submit for 2.6.24. Comments gratefully accepted. Along with the usual cleanups and improvements are Jes' de-i386-ification patches, and a new "virtio" mechanism designed to be shared with KVM (and hopefully other hypervisors). Cheers, Rusty. Documentation/lguest/Makefile | 30 Documentation/lguest/lguest.c
2007 Sep 25
50
[patch 00/43] lguest: Patches for 2.6.24 (and patchbomb test)
Hi all, These are the patches I'm planning to submit for 2.6.24. Comments gratefully accepted. Along with the usual cleanups and improvements are Jes' de-i386-ification patches, and a new "virtio" mechanism designed to be shared with KVM (and hopefully other hypervisors). Cheers, Rusty. Documentation/lguest/Makefile | 30 Documentation/lguest/lguest.c