:>> -       TAPDEV_MAJOR(st.st_rdev) == TAP_CDEV_MAJOR) {
:>> -           *tap_unit = TAPDEV_MINOR(st.st_rdev);
:>> -
:>> +       sscanf(tap_dev, "/dev/tap%d", tap_unit) == 1) {
:>>             /*
:...
:
:Oh, I won't call that patch a `fix', it was just a bandaid for me.
:However, just opening /dev/tap results in a kernel panic (at least
:on an unpatched vkernel).

    Ok, let me work on this a bit.  I will commit a slightly different
    change which uses fdevname() and extracts the unit from that.  This
    way the code will work with future use of the cloning interface.

:vkernel# dd if=/dev/tap of=/dev/null count=0
:
:
:Fatal trap 12: page fault while in kernel mode
:mp_lock = 00000000; cpuid = 0
:fault virtual address   = 0x44

    I'll get this fixed today.

                                                -Matt

Reply via email to