[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] Livepatch: resolve old address before function verification
- To: Bjoern Doebel <doebel@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
- Date: Tue, 8 Mar 2022 14:33:16 +0000
- Accept-language: en-US
- 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=2aTTN9KkmLe/89SdJcuhcVDK4rHqfC9Nq6ouy0DZJ9U=; b=cAR0mXe9pG482cnualwvoiu8cohbskG+lSDF+e0q/3QpWwwJYlbCkPO1wOdmz0psc+DyIvt3tAS13tm2hMckLtYGQ9Tus6/B0/iOwHkGBe6PgDZ9kD70SewLJhsxMswTZQDk5vfYaOj9WHUsmTgXBnNMDmFYWhG6YDLSAF5arOm2yXTdYgJyvi0Sl8JNWzsFTBtLiolbDDqqe7peB6BGC3WeOwp9QkESv6/yZ8kPNRkphok6Wiyzs7inH6R8jIp+3OiJahQ5LPYQEJ90r66A9q332uhSGbQz/nYtW1Eyq2BKnHWz1iwXVR/+4+WJEmgWoEZ61ZmFJO3ORUzYfILrqQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aKUajuY+N3iZs8rlfzYgaGty55Ch0hXXRxbkwlvPvoP5eNT4+vqhWjDkNCf4nOOEiLpriDZRiUzJjVOZOO606qH3ucBECu5HhIN58+lpH8H+gC2ywpyNllJP60dofNfJVTBLG/VFHO4XP2Qr4dDlnP3MdfuAJBRtrM/vlyem+sWw9n5tNKLIFz8JQQ3f3AstAo3ZwqI7tcsFidoR9lMMKVt2h0eNvqRdheZ2SjtknDjqh7qW0xqcYbIcs8em7q4CRWJv5G7CNMlxMcxr/lNV3o366yE1tmOS9hHjVVXyZOyqX8YdjX2Vm4XBsM+YrG4JrsBBjEqsD1e2RkyAiuC4QQ==
- Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
- Cc: Michael Kurth <mku@xxxxxxxxx>, Martin Pohlack <mpohlack@xxxxxxxxx>, "Roger Pau Monne" <roger.pau@xxxxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
- Delivery-date: Tue, 08 Mar 2022 14:33:25 +0000
- Ironport-data: A9a23:E3E4jqxnLdhYLNvMrpJ6t+f0xirEfRIJ4+MujC+fZmUNrF6WrkVUm zdJXmCGOfiKYDeje9pwPN/j/EgHv5aBn4BgSlZrqyAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx 59DAjUVBJlsFhcwnj/0bv656yMUOZigHtIQMsadUsxKbVIiGX9JZS5LwbZj2NYz2YjhWWthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ NplnKOPVyoAAJDwqP0NbAJJMgZjG/Jm9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQEoTdkxD7UF+kvRZTrSKTW/95Imjw3g6iiGN6AN 5JHMGE+N3wsZTUVOHBICqoxg9yXi1DhKiBYjVKfvKQ4tj27IAtZj+G2bYu9lsaxbcBNmUacr 2nF1238CwMdMpqTxFKt8XWqnObD2zz6XIE6E6ex/fpnxlaUwwQ7DR4LfVK+qOu+jAiyVrp3J 0sZ8CcqhaE3/V6sSJ/xUnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3PLaXhRzi AXPxYmwQ2Uy7vvFEhpx64t4sxubBhcLAEY8WBM0VBs6+MjCh5wV0TLAG4ML/LGOsvX5HjT5w javpSc4hqkOgcNj65hX7WwrkBr3+MGXE1ddChH/Gzv8s1gnPNLNi5mAtACDhcusOrp1WbVoU JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD32n1k5JAVdoJiN2bGKuPGpxcEdMOS BWP0T69HLcJYBOXgVZfOupd8fgCw6n6DsjCXfvJdNdIaZUZXFbZoH8wOh7NhDm9zRNEfUQD1 XGzK53E4ZEyU/gP8dZLb71Fje9DKt4Wnws/uqwXPzz4iOHDNRZ5uJ8OMUeUb/BR0U93iF69z jqrDOPTk083eLSnOkH/qNdPRXhXfSlTLc2n8KR/K7/cSjeK7Ul8Upc9N5t6INc790mU/8+Vl kyAtrhwlAKv1SeZeF/RNhiOqtrHBP5CkJ7yBgR1VX6A0Hk/e4e/qqAZcpo8Z7488+J/i/VzS pE4lw+oW5yjlhyvF+whUKTA
- Ironport-hdrordr: A9a23:UJjQhKrELLK5syTYdvfFnl0aV5t+LNV00zEX/kB9WHVpm5Oj+P xGzc526farslsssSkb6K290KnpewK4yXcH2/hsAV7EZniohILIFvAv0WKG+VPd8kLFh5dgPM tbAstD4ZjLfCJHZKXBkUeF+rQbsaG6GcmT7I+0pRYMcegpUdAa0+4QMHfCLqQcfngjOXNNLu v72iMxnUvGRZ14VLXYOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPYf2F mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcRcsvy5zXMISdOUmRMXee r30lMd1gNImjTsl1SO0FnQMs/boXATAjHZuAalaDDY0LPErXoBerR8bMRiA0DkAgMbzaFB+b hW0WyUrYdaACXJgTn07dnNWxZ2oFC5u2Ajl+kkj3E3a/puVJZB6YMY509bC5EGAWbz750mCv BnCIXG6O9Rak7yVQGTgoBD+q3kYp0IJGbPfqHCgL3g7xFG2HRii0cIzs0WmXkNsJo7Vplf/u zBdqBljqtHQMMaZb90QL5pe7r7NkXdBRbXdG6CK1XuE68Kf3rLtp7s+b0woOWnYoYBwpc+kI nIFFlYqWkxcUTzDtDm5uwAzjndBGGmGTj9wMBX4JZ0/rX6WbrwKCWGDEsjlsOxys9vdPEzm8 zDT66+L8WTX1cGQ7w5rDEWc6MiXEUjbA==
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Suggested_attachment_session_id: 54994743-86bd-f76a-1355-5676f724ba4a
- Thread-index: AQHYMhoeZ5kcmjNdQkmxqYcmYis536y1jlWT
- Thread-topic: [PATCH 1/2] Livepatch: resolve old address before function verification
> From: Bjoern Doebel <doebel@xxxxxxxxx>
> Sent: Monday, March 7, 2022 11:53 AM
> To: xen-devel@xxxxxxxxxxxxxxxxxxxx <xen-devel@xxxxxxxxxxxxxxxxxxxx>
> Cc: Michael Kurth <mku@xxxxxxxxx>; Martin Pohlack <mpohlack@xxxxxxxxx>; Roger
> Pau Monne <roger.pau@xxxxxxxxxx>; Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>;
> Bjoern Doebel <doebel@xxxxxxxxx>; Konrad Rzeszutek Wilk
> <konrad.wilk@xxxxxxxxxx>; Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
> Subject: [PATCH 1/2] Livepatch: resolve old address before function
> verification
>
> When verifying that a livepatch can be applied, we may as well want to
> inspect the target function to be patched. To do so, we need to resolve
> this function's address before running the arch-specific
> livepatch_verify hook.
>
> Signed-off-by: Bjoern Doebel <doebel@xxxxxxxxx>
> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> CC: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
> ---
> xen/common/livepatch.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index ec301a9f12..be2cf75c2d 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -684,11 +684,11 @@ static int prepare_payload(struct payload *payload,
> return -EINVAL;
> }
>
> - rc = arch_livepatch_verify_func(f);
> + rc = resolve_old_address(f, elf);
> if ( rc )
> return rc;
>
> - rc = resolve_old_address(f, elf);
> + rc = arch_livepatch_verify_func(f);
> if ( rc )
> return rc;
>
> --
> 2.32.0
Reviewed-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
|