Date: Mon, 11 Jun 2018 23:31:03 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 228907] VMCI driver: During datagram dispatch if there's no source context then use the current context. Message-ID: <bug-228907-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D228907 Bug ID: 228907 Summary: VMCI driver: During datagram dispatch if there's no source context then use the current context. Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: vdasahar@gmail.com When dispatching a VMCI datagram, if no source context is provided we must = use the current context. Also, it's better to use VMCI_MEMORY_ATOMIC i.e, M_NOW= AIT for memory allocation in datagram_create_hnd. Could you please help get this patch in? --- a/freebsd_driver/src/vmci_datagram.c +++ b/freebsd_driver/src/vmci_datagram.c @@ -160,7 +160,7 @@ datagram_create_hnd(vmci_id resource_id, uint32_t flags, handle =3D VMCI_MAKE_HANDLE(context_id, resource_id); } - entry =3D vmci_alloc_kernel_mem(sizeof(*entry), VMCI_MEMORY_NORMAL); + entry =3D vmci_alloc_kernel_mem(sizeof(*entry), VMCI_MEMORY_ATOMIC); if (entry =3D=3D NULL) { VMCI_LOG_WARNING(LGPFX"Failed allocating memory for datagra= m " "entry.\n"); @@ -457,7 +457,7 @@ vmci_datagram_dispatch_as_guest(struct vmci_datagram *d= g) resource =3D vmci_resource_get(dg->src, VMCI_RESOURCE_TYPE_DATAGRAM= ); if (NULL =3D=3D resource) - return VMCI_ERROR_NO_HANDLE; + return (VMCI_ERROR_NO_HANDLE); retval =3D vmci_send_datagram(dg); vmci_resource_release(resource); @@ -495,6 +495,10 @@ vmci_datagram_dispatch(vmci_id context_id, struct vmci_datagram *dg) return (VMCI_ERROR_INVALID_ARGS); } + /* If no source context then use the current context. */ + if (VMCI_INVALID_ID =3D=3D dg->src.context) + dg->src.context =3D vmci_get_context_id(); + return (vmci_datagram_dispatch_as_guest(dg)); } --=20 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-228907-227>