qemu-system-x86_64: не удалось открыть (/ dev / netmap) - PullRequest
0 голосов
/ 28 апреля 2020

Я встретил странную проблему при тестировании qemu / netmap. Там написано "Операция не разрешена". Ошибка на самом деле я запускаю с root учетной записи. После изменения кода qemu:

static int netmap_open(NetmapState *s, Error **errp)
{
    struct nmreq_register req;
    struct nmreq_header hdr;
    struct netmap_if *nifp;
    NetmapState *other;
    int ret;
    char buf[256];

    s->fd = open("/dev/netmap", O_RDWR);
    if (s->fd < 0) {
        sleep(30);
        sprintf(buf, "Failed to open(/dev/netmap) gg, uid=%d %d\n", getuid(), geteuid());
        error_setg_errno(errp, errno, buf);
        return -1;
    }

Я уверен, что оба uid / euid равны 0.

qemu-system-x86_64: Failed to open(/dev/netmap) gg, uid=0 0
: Operation not permitted

Если я запускаю qemu-system-x86_x64 вручную, а не с libvirt / vir sh, то эта ошибка исчезла. Я уверен, что параметры cmdline не совпадают, но я не думаю, что это может привести к тому, что вызов open будет иметь другое поведение. Есть идеи?

...