Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp4058671pxk; Tue, 29 Sep 2020 13:10:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJygQrfBLWlL4YCD2dPVXCESKDxtguE18PTqimaDBFm+KPTRy7hFSqCXCdPqqvqJ2CR5GTXc X-Received: by 2002:aa7:de91:: with SMTP id j17mr5193693edv.85.1601410251031; Tue, 29 Sep 2020 13:10:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601410251; cv=none; d=google.com; s=arc-20160816; b=ZB7hPAS8nXaR/w76BCd2cDGt9bQUPGsxF5yoNviwaJK8PuxznKKRcla+bSyxnFwFiO cKlD/7/Iqe7bR3qs6chRH1AKljBXUSVQBnIMu4QuvbPLX1KOpEXlHsTs4DirhJEv0WwF bKgYXtmC7vrDTc/ev9n/Iap6q2O03i7yBp7vIMH4JmY5h8Kx9BGzQwXEBbBIcHpr4uYB lR+ZBV6pEDZesyR4ip3fz+3s7e2YX5IE4eWQRGhl+ABf1yXn/piAEg2i4tbl16XvTqN3 GuLnD6GGrVV9bh/moRIpfTkqcrwcqPk+AyDE76L/mc1J1+TvQoIgFtrEYdbfKEH+NSG0 KwlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=15VZJ11fwIaIVYLeO03Rq08ZZiuF4zqt1gejxvSenWc=; b=oVUaE9HozUuWqAr5pzi4nBJru82IwGRgyf+FzB7IwuXEXlyJLqD4TFusNKr2IopNf+ suapgkoPq9ODymGLEL2ZSuJjZic560vyNJxCDNz+DZame+LjeUJZNcstXY4aJw/P25z7 8bCnk9/13iD/U5oRUr+FXgSBkPW4EHgXzc8ddAo+O1/UHMGcwwzySRXegBT8A/d9QiI9 +kiu8hq/6pRbMYqed53vSE6bI79vkwlYxmMGd79KUpAR+3miC8g/f4NQbOde0LZeUbYe C1lmSwmgO9O+6rQB4plCCoacutCraYonyP6GEcyMoriXCT1j2aE3e/8TehA+KIHabPLy rV4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=m874V7vo; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=bXi4OqcT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r26si3684094eja.484.2020.09.29.13.10.27; Tue, 29 Sep 2020 13:10:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=m874V7vo; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=bXi4OqcT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728979AbgI2UHU (ORCPT + 99 others); Tue, 29 Sep 2020 16:07:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728367AbgI2UHU (ORCPT ); Tue, 29 Sep 2020 16:07:20 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DD822C061755 for ; Tue, 29 Sep 2020 13:07:19 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1601410038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=15VZJ11fwIaIVYLeO03Rq08ZZiuF4zqt1gejxvSenWc=; b=m874V7voFEjl8f8dCJCy2KtxrYOE0gHomHcbuUnjCVwUx6SrZHZhd1tw6XTUrJyTcmKcC3 7mtSQVdBGewA66HTL6QwYuqdr8JGVGtImxAeoPHgG9OeZs6BlFFchILflylVlLF9V7x8Ho bcr7UYiFPP8Hux1AvA0J9cGBKp1lUr7QC8/10wZXvshehDnwwEsQkjsJ2d3EMLc9bBDX7n CPP1FuVf9GUYB71TY6CQ0jdbDuyVtBu/AhDAbK6reDCtwg7IxgkUAFXAZQh8tWLdIIsD2D 2axZ0lN5pbsXYjDvDkjFhVjphkWQdr00QkCQ/Q2+nvnAWxD5b+KmwIvay8jGlA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1601410038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=15VZJ11fwIaIVYLeO03Rq08ZZiuF4zqt1gejxvSenWc=; b=bXi4OqcTfSOQ1eeteiOBT8qpP8crvpzG+7+IYyTIOHquDzo/JGR2AP6ruSZ9sENydeaflV BxJgB+KytYXnWnDw== To: Borislav Petkov , shuo.a.liu@intel.com Cc: linux-kernel@vger.kernel.org, x86@kernel.org, Greg Kroah-Hartman , "H . Peter Anvin" , Ingo Molnar , Sean Christopherson , Yu Wang , Reinette Chatre , Yakui Zhao , Zhi Wang , Dave Hansen , Dan Williams , Fengwei Yin , Zhenyu Wang Subject: Re: [PATCH v4 02/17] x86/acrn: Introduce acrn_{setup, remove}_intr_handler() In-Reply-To: <20200929175947.GL21110@zn.tnic> References: <20200922114311.38804-1-shuo.a.liu@intel.com> <20200922114311.38804-3-shuo.a.liu@intel.com> <20200929175947.GL21110@zn.tnic> Date: Tue, 29 Sep 2020 22:07:17 +0200 Message-ID: <873630jqiy.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 29 2020 at 20:01, Borislav Petkov wrote: > On Tue, Sep 22, 2020 at 07:42:56PM +0800, shuo.a.liu@intel.com wrote: >> +void acrn_setup_intr_handler(void (*handler)(void)) >> +{ >> + acrn_intr_handler = handler; >> +} >> +EXPORT_SYMBOL_GPL(acrn_setup_intr_handler); >> + >> +void acrn_remove_intr_handler(void) >> +{ >> + acrn_intr_handler = NULL; >> +} >> +EXPORT_SYMBOL_GPL(acrn_remove_intr_handler); > > I don't like this one bit. > > Also, what stops the module from doing acrn_remove_intr_handler() > while it gets a HYPERVISOR_CALLBACK_VECTOR interrupt and the handler > disappearing from under it? > > IOW, this should be an atomic notifier instead. That does not prevent that either and notifiers suck. The pointer is fine and if something removes the handler before all of the muck is shutdown then the author can keep the pieces and mop up the remains. Thanks, tglx