Hi Stefano,

On 10/20/18 12:20 AM, Stefano Stabellini wrote:
On Mon, 8 Oct 2018, Jan Beulich wrote:
On 05.10.18 at 20:47, <[email protected]> wrote:
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -406,6 +406,13 @@ static void dump_console_ring_key(unsigned char key)
   */
  static unsigned int __read_mostly console_rx = 0;
+struct domain *console_input_domain(void)
+{
+    if ( console_rx == 0 )
+            return NULL;
+    return get_domain_by_id(console_rx - 1);

This acquires a domain reference, yet I can't see that reference
getting dropped anywhere in the caller.

Well spotted!

I'll add a comment here as a reminder, and I'll drop the domain
reference in the caller (xen/arch/arm/vpl011.c:vpl011_write_data_xen).

Why do you use get_domain_by_id() and not rcu_lock_domain_by_id()? The latter is recommend for short live reference.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to