[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] livepatch: apply_alternatives() is only used for livepatch
- To: Julien Grall <julien@xxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Wed, 7 Jun 2023 10:56:18 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lt2f7KVyWIbz4YeWnga6LibsjXxap/b3ciX5xZjwqhI=; b=fa6K1b6RYDePyHAm7s1h1nmSdCBVuWUJVEBXusC9wRVQmcr/LtY53R1fozAZL252g87F4Nf9Y64hI/NgHddO/13IIMGcmaFi43qTIfoZD6GgqYs72NkRelJ6UnWuZoP3glk93szKokg0wi+hD/Yqnquen+vmSdA4JhIlfr5wL30CJz34zIJP0DMzzrOXkv/cuJeIM67+p18e9cS5UYm5GBAAiPOFiLxP/hWdVQ94SyppMMSmfUuhXax9Bt64kc+hxf+Fk0Q2CxN4frhpzH2Pc9FR2/C7ph14UKZivrLEEqP6tygTDDi1z2vgxThb7JBezmzD4vXlknZ2tuXp/Opl2Q==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L0ajfO0Wld7q0MahRFz+of/PFS35PQ5ihOIrEhH+ISL/C2i2K0zBGPVDSUQASsPaiPeGH7JKXak14iJA4yTN2kTfdKdYlZJOljMnhhb5tH+OnTGnbMAitm+Jjb3GiN1bJzCnDAQI9qmronyaEgCsHfcXfVkJb+YVHNmHhs/SDPBCXw7tuK/A5B5fc63EKDqYjyK+NDsEcE5zz6tdytL4HRO/y1RxMgh0nSe6o6gn6YOMzImJmo8SEF44SwkMZI0edsbfhbf2gCceXcumWv3wVOcG6PxzGAskh9sbtaidz+CqGm8cvporLVAu8tky/BF35q1NvPJXRn/0K8F8bRLCWw==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
- Delivery-date: Wed, 07 Jun 2023 08:57:02 +0000
- Ironport-data: A9a23:b0b4zqiTzcnZlv9QdQwy7Lu5X1615xEKZh0ujC45NGQN5FlHY01je htvWWmAaPmMZjGhKN0iadm/phgBuMPTydcwHQdtqyk8Q3kb9cadCdqndUqhZCn6wu8v7q5Ex 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv cKai8DEMRqu1iUc3lg8sspvkzsx+qyq0N8klgZmP6sT4geBzyB94K83fsldEVOpGuG4IcbiL wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+ tQecxECRwzbv9mx65GKG8pFt5sjFubSadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGyaLI5efTTLSlRtlyfq W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqiBNlCRe3hrpaGhnWjx24eARA4b2KwvNCytUDnAOpQD ncbr39GQa8asRbDosPGdx+lpH+JuDYMVtwWFPc1gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1 FKCg5XuHzMHmKaOVXuX+7OQrDWzESsYN2kPYWkDVwRty9Puup0phxTDCNNqCreoj8bdECv1h TuNqUAWubIXisIa0rShynrOiTmsu5vhQxY840PcWWfNxgFzaZOhZoeowUPG9vsGJ4GcJnGeu FAUls7Y6/oBZaxhjwSISeQJWbuvt/CMNWSGhUY1RsZ5sTOw53SkYIZcpilkI1tkOdoFfjmvZ 1LPvQRW59lYO37CgbJLXr9dwv8ClcDIfekJnNiNMLKivrAZmNe7wRxT
- Ironport-hdrordr: A9a23:l+3vz6gE4g7fKSyBL9KO6mE/OHBQX7123DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03I+eruBEBPewK4yXdQ2/hoAV7EZnichILIFvAa0WKG+VHd8kLFltK1uZ 0QEJSWTeeAd2SS7vyKnzVQcexQp+VvmZrA7Ym+854ud3ANV0gJ1XYENu/xKDwTeOApP+taKH LKjfA32gZINE5nJ/hSQRI+Lpv+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93 GAtwDi/K2sv9yy1xeZjgbontlrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBWlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K 5QxWqWu7deEBuFxU3GlpP1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu hzC8P34upQbDqhHjjkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ1yLsND71/o8 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBXaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ PIV04dnXIuenjpFdaF0PRwg17wqV2GLHfQI/xlltpEUuWWfsuvDcTDciFgryKYmYRePiWBMM zDfK6/AJfYXB7T8MhyrkrDsqJpWAkjuf0uy6gGsm2107P2w63Rx5vmmaXoVczQOAdhfF/DKV 0+exW2DPl8zymQKw3FaV7qKj/QRnA=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Tue, Jun 06, 2023 at 07:10:05PM +0100, Julien Grall wrote:
> Hi Roger,
>
> On 06/06/2023 18:23, Roger Pau Monne wrote:
> > Guard it with CONFIG_LIVEPATCH. Note alternatives are applied at boot
> > using _apply_alternatives().
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
>
> Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>
Thanks!
> > ---
> > xen/arch/arm/alternative.c | 2 ++
> > xen/arch/arm/include/asm/alternative.h | 2 ++
> > xen/arch/x86/alternative.c | 5 +++--
> > xen/arch/x86/include/asm/alternative.h | 2 ++
> > 4 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> > index 7366af4ea646..016e66978b6d 100644
> > --- a/xen/arch/arm/alternative.c
> > +++ b/xen/arch/arm/alternative.c
> > @@ -223,6 +223,7 @@ void __init apply_alternatives_all(void)
> > vunmap(xenmap);
> > }
> > +#ifdef CONFIG_LIVEPATCH
> > int apply_alternatives(const struct alt_instr *start, const struct
> > alt_instr *end)
> > {
> > const struct alt_region region = {
> > @@ -232,6 +233,7 @@ int apply_alternatives(const struct alt_instr *start,
> > const struct alt_instr *en
> > return __apply_alternatives(®ion, 0);
> > }
> > +#endif
> > /*
> > * Local variables:
> > diff --git a/xen/arch/arm/include/asm/alternative.h
> > b/xen/arch/arm/include/asm/alternative.h
> > index d3210e82f9e5..ce82dc1ca0d2 100644
> > --- a/xen/arch/arm/include/asm/alternative.h
> > +++ b/xen/arch/arm/include/asm/alternative.h
> > @@ -29,7 +29,9 @@ typedef void (*alternative_cb_t)(const struct alt_instr
> > *alt,
> > int nr_inst);
> > void apply_alternatives_all(void);
> > +#ifdef CONFIG_LIVEPATCH
> > int apply_alternatives(const struct alt_instr *start, const struct
> > alt_instr *end);
> > +#endif
> > #define ALTINSTR_ENTRY(feature, cb)
> > \
> > " .word 661b - .\n" /* label */ \
> > diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> > index 99482766b51f..21af0e825822 100644
> > --- a/xen/arch/x86/alternative.c
> > +++ b/xen/arch/x86/alternative.c
> > @@ -358,11 +358,12 @@ static void init_or_livepatch
> > _apply_alternatives(struct alt_instr *start,
> > }
> > }
> > -void init_or_livepatch apply_alternatives(struct alt_instr *start,
> > - struct alt_instr *end)
>
> NIT: It sounds like the init_* was a left-over after commit 67d01cdb5518
> ("x86: infrastructure to allow converting certain indirect calls to direct
> ones").
I think it doesn't warrant a fixes tag in this case. The commit you
point out should also have added the livepatch guards in x86 at least,
since that's the only caller of apply_alternatives() after the
patch.
Thanks, Roger.
|