So, what is a case that trips?
Can you give me a way to reproduce? From your email is not clear.


On Wed, Dec 9, 2015 at 6:02 PM, Barret Rhoden <[email protected]> wrote:

> On 2015-12-10 at 00:53 ron minnich <[email protected]> wrote:
> > yeah I talked to barrett about this one and it seems D is not set.
> > Would have been nice!
>
> yep, tried that one.  =(
>
> i figure it's something crazy like that though.
>
> i tried taking the code out of its current location and do something
> similar, but couldn't trigger it:
>
> e.g.
>
> void xme(void)
> {
>     void *uaddr;
>     uintptr_t frame[2];
>     uintptr_t test[2];
>     int err;
>
>     assert(current);
>     uaddr = mmap(current, 0, PGSIZE, PROT_READ | PROT_WRITE, MAP_ANON, -1,
> 0);
>     assert(uaddr);
>
>     frame[0] = 0x0102030405060708;
>     frame[1] = 0xa0b0c0d0e0f01122;
>
>     memcpy(uaddr, frame, 2 * sizeof(uintptr_t));
>     memcpy(test, uaddr, 2 * sizeof(uintptr_t));
>
>     assert(memcmp(frame, test, 2 * sizeof(uintptr_t)) == 0);
>
>     memset(test, 0, 2 * sizeof(uintptr_t));
>
>     asm volatile("nop;nop;nop;");
>     err = copy_from_user(test, uaddr, 2 * sizeof(uintptr_t));
>     asm volatile("nop;nop;nop;");
>
>     assert(!err);
>     assert(memcmp(frame, test, 2 * sizeof(uintptr_t)) == 0);
>
> }
>
> and kfunc xme, or also run it from CTRL-Q (k/a/x/init.c).  but those
> didn't trip.
>
> then i figured i'd try forgetting the uaddr, and just clobber some user
> memory with the same uaddr as in the failing case
> (0x00007f7fffbfef50).  that didn't make a difference either.  the
> alignment on both src and dst is 0x10, so that seems fine too.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Akaros" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to