Received: by 10.192.165.156 with SMTP id m28csp668733imm; Wed, 11 Apr 2018 05:36:03 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+ixO+gPHUcsqWyUWNhQCMVkwN75RQ88Yt0jxfSodobaPHSGbAIRDE6Mdg0kNNeeIUeN7AV X-Received: by 2002:a17:902:2d01:: with SMTP id o1-v6mr4811992plb.309.1523450163911; Wed, 11 Apr 2018 05:36:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523450163; cv=none; d=google.com; s=arc-20160816; b=ZsyfdUi10AzT/STl7eJZuh62Mh+M/OCZMN9fCWLhAdekszHv4Byy8lQPH1uIgtWKyV D4o2iYn+KumCR+FgsahTsORDkjE7p3v90B+TsXk+Foj8GM4aoJ6O3PkzybKLlsM8BiOk Z77W5/jm7m/N2Y/Ahs1ClGb0v2NVGt3Tn1YUoAQbQww3OvtyBHacOW4e6Ab8kGPcJ6Dg AopB+JBH4LmszgcYAR9fimChmqc7h+GlURqTSgrp9hT4Do/jKqiVqTq00tABM+jWiqI/ tabsi8WOFmL0dypJMPEAX4Uh6YS2PA5+v2tWFsq5f8hDrou8OjBcov3P235RBWxgnba2 4gng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=toqqtBgqWkMMhM13cQ9/uyS69OqFQIPgofj9UDm1u5o=; b=bopbHp2/oZYEdvlEEqjLJ1Cz9hiKVrO4yW+WpUbANYQZF7MAqHMpmKVd8Q+4ByZIUU xSQMKRwCWBmeAP5yFNa4HsOxWpsIXaxrWikF8n8o48+UgiYpo5JlzE6M09WnOpLXV8ND 7v0ur3T60Dy4oZD8LKZALkgQeAMZ6+DMhCbBkp+DYcfu7MdiJ6TPv6eq3Oku6d7f3Bj4 Tpn5jyJT4dwRMRvjC1+oYr4UQI50Alcx41u+GrxjflkUnEo4EhtLnCBOjqT6DtvOAnog ZCj4UDaDtXE/AqW5TdgW11qVIfsg5SJa2FbRJ8+PfVFanREZia3CVEH3pu5xoQkpQudE 0cWw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b1-v6si1059254pld.227.2018.04.11.05.35.26; Wed, 11 Apr 2018 05:36:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753061AbeDKMcT (ORCPT + 99 others); Wed, 11 Apr 2018 08:32:19 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:45140 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752309AbeDKMcR (ORCPT ); Wed, 11 Apr 2018 08:32:17 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 573D94074453; Wed, 11 Apr 2018 12:32:17 +0000 (UTC) Received: from treble (ovpn-120-110.rdu2.redhat.com [10.10.120.110]) by smtp.corp.redhat.com (Postfix) with SMTP id 817C710B0099; Wed, 11 Apr 2018 12:32:14 +0000 (UTC) Date: Wed, 11 Apr 2018 07:32:14 -0500 From: Josh Poimboeuf To: Miroslav Benes Cc: Petr Mladek , Jiri Kosina , Jason Baron , Joe Lawrence , Jessica Yu , Evgenii Shatokhin , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v10 05/10] livepatch: Support separate list for replaced patches. Message-ID: <20180411123214.mfpkbrirze32phrb@treble> References: <20180319214324.riyp233trtfxbeto@treble> <20180320122538.t75rplwhmhtap5q2@pathway.suse.cz> <20180320201502.2skkk3ld4zk2dxwg@treble> <20180323094507.smsqc5ft3yajnwqt@pathway.suse.cz> <20180323224410.vuq5cabfprqhd6ej@treble> <20180326101107.bbloeh5l276on7uz@pathway.suse.cz> <20180406195049.dtfebzfdkbvv6yex@treble> <20180410083455.l26dgo5kx4cy7bc7@pathway.suse.cz> <20180410174206.l3uk6lchhzxvn75x@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 11 Apr 2018 12:32:17 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 11 Apr 2018 12:32:17 +0000 (UTC) for IP:'10.11.54.3' DOMAIN:'int-mx03.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'jpoimboe@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 11, 2018 at 10:07:31AM +0200, Miroslav Benes wrote: > > > I was confused by wording "in the middle". It suggested that there > > > might had been enabled patches on the top and the bottom of the stack > > > and some disabled patches in between at the same time (or vice versa). > > > This was not true. > > > > That *was* what I meant. Consider the following sequence of events: > > > > - Register patch 1 > > - Enable patch 1 > > - Register patch 2 > > - Enable patch 2 > > - Disable patch 2 > > - Register patch 3 > > - Enable patch 3 > > > > Notice that patch 2 (in the middle) is disabled, whereas patch 1 (on the > > bottom) and patch 3 (on the top) are enabled. > > This should not be possible at all. > > __klp_enable_patch: > > if (patch->list.prev != &klp_patches && > !list_prev_entry(patch, list)->enabled) > return -EBUSY; > > When patch 3 is enabled, list_prev_entry() returns patch 2 and its > ->enabled is false. Hm, you're right. I'm not sure how I got that idea... I still agree with my original conclusion that enforcing stack order no longer makes sense though. > > > Another possibility would be to get rid of the enable/disable states. > > > I mean that the patch will be automatically enabled during > > > registration and removed during unregistration. > > > > I don't see how disabling during unregistration would be possible, since > > the unregister is called from the patch module exit function, which > > can only be called *after* the patch is disabled. > > > > However, we could unregister immediately after disabling (i.e., in > > enabled_store context). > > I think this is what Petr meant. So there would be nothing in the patch > module exit function. Well, not exactly. We'd need to remove sysfs dir and > maybe something more. Sounds good to me, though aren't the livepatch sysfs entries removed by klp during unregister? > > > The question is what is acceptable to others > > > > If there are any objections, this is their chance to speak up :-) > > > > > and if it needs to be done as part of this patch set. > > > > Maybe so, for at least a few reasons: > > > > - This patch set makes the 'stack' obsolete, so it makes sense to remove > > the 'stack' with it. > > Not necessarily. I like Petr's rebase explanation here. I'm not sure what you mean. IIRC, his rebase explanation referred to how we handle 'replace' patches, for which there is no stacking (as I meant the term: enforcement of stack order for registration and enablement). -- Josh