Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Sep 2015 20:15:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 201611] [patch] Add devfs_get_cdevpriv_from_file(9)
Message-ID:  <bug-201611-8-KVa0qlZ0i4@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-201611-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-201611-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201611

--- Comment #3 from Andy Ritger <aritger@nvidia.com> ---
(In reply to Konstantin Belousov from comment #2)

Thanks for taking a look.

Sorry that I didn't describe things well in my original post.  The intent
is for this usage pattern:

    process A:
        fda_dev = open("/dev/nvidia0");

        // [...allocate resources...]

        // allocate file to pass resource to process B
        fda = open("/dev/nvidia0");

        // associate resource with fda
        params.resource = handleForResource;
        params.fd = fda;
        ioctl(fda_dev, opcode, &params, sizeof(params));

        SendFdToProcessB(fda);
        close(fda);

    process B:
        fdb_dev = open("/dev/nvidia0");

        // resource resource from process A
        fdb = RecvFdFromProcessA();

        // look up resource assocated with fd
        params.fd = fdb;
        ioctl(fdb_dev, opcode, &params, sizeof(params));
        close(fdb);

        resource = params.handleForResource

(i.e., the fd for the resource is different than the fd on which the
ioctl is performed)

It is important that fd[ab] are different than fd[ab]_dev: process A
doesn't want to give process B access to _everything_: just a specific
resource.

Does that make sense?

Thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-201611-8-KVa0qlZ0i4>