Revision e9a970a8 linux-user/syscall.c

b/linux-user/syscall.c
8631 8631

  
8632 8632
#ifdef TARGET_NR_set_robust_list
8633 8633
    case TARGET_NR_set_robust_list:
8634
	goto unimplemented_nowarn;
8634
    case TARGET_NR_get_robust_list:
8635
        /* The ABI for supporting robust futexes has userspace pass
8636
         * the kernel a pointer to a linked list which is updated by
8637
         * userspace after the syscall; the list is walked by the kernel
8638
         * when the thread exits. Since the linked list in QEMU guest
8639
         * memory isn't a valid linked list for the host and we have
8640
         * no way to reliably intercept the thread-death event, we can't
8641
         * support these. Silently return ENOSYS so that guest userspace
8642
         * falls back to a non-robust futex implementation (which should
8643
         * be OK except in the corner case of the guest crashing while
8644
         * holding a mutex that is shared with another process via
8645
         * shared memory).
8646
         */
8647
        goto unimplemented_nowarn;
8635 8648
#endif
8636 8649

  
8637 8650
#if defined(TARGET_NR_utimensat) && defined(__NR_utimensat)

Also available in: Unified diff