[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/2] livepatch: fix handling of (some) relocations


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Thu, 17 Mar 2022 12:08:52 +0100
  • 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=4ZvNQ2Jsd1nbrbGwaI4yAv5SLDZE/R4NZJGlJk5r62U=; b=PV1wIZ19MRKiAH3ZJdtjVPX8e8HdzQOdrkF1ZWpKG2tA3qOXpMNGS3zKtkV8J4qo5snv5BsfoROM6PvuyUukHzOZfGsudinXXbEMzH8CSpIkFyuYTEOAzb7T4WNgtLPfLySh+eCqzenrBxm7XlF0Y63zI7KtisrUY5p9+2Z1TN8wZ/eagLexNUgZGR/aNymHWKsaiK5a9XyMCP6LbKSjmZnHPqWMxX229YTh0KPLRgSbZGOF+DNqvc8l/HGi3ap+iAwYSHUV5Q+6fBm2beXCLZ+sCLbm9BtS+jFO6FB9OPsOPuTLf8aJMaNQzm7W6q1L6f3xJrM1Eexb/hkhkGRi/g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cyekEL87368FuB8UB90/IQwHo9I2ed9PAnTsKq3SiqeiPZN/Jyc/Lra0sWTVqJTAfcOIfeuh4qy70I3r/CntMuX+mVCorwFpNRRbFrywue/t6i3vO6ANFHXhXwH1+a2ysPSFubdSgmn2JX1Hsn2GoqdGbHxjshRV6JN/xcfNvWYv3sKe2Xqz3phEpjjLeFgFgn5NA21z5XiRfT6EGMyvHm87Rm93vBcvPHhpuneSl5uG9u6ls9G5re5J0vXPUsiYN1psu0rgEgeNGg1NQRMEoJVQemiSXlO/MApOKakeUgJC1WHcZcMB5h/0eHzjYp2cVo0RGNkcuTHzXN+Der9tlQ==
  • Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, 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: Thu, 17 Mar 2022 11:09:13 +0000
  • Ironport-data: A9a23:vBn8darD/3mzs6ufA3DoXS86abheBmKVZRIvgKrLsJaIsI4StFCzt garIBmCMviONmugLt9xYIi18EJTsceGzoBgSQA9qC9jHi5BoJuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlVEliefQAOCU5NfsYkidfyc9IMsaoU8lyrZRbrJA24DjWVvW4 Iyq+aUzBXf+s9JKGjNMg068gEsHUMTa4Fv0aXRnOJinFHeH/5UkJMp3yZOZdhMUcaENdgKOf M7RzanRw4/s10xF5uVJMFrMWhZirrb6ZWBig5fNMkSoqkAqSicais7XOBeAAKv+Zvrgc91Zk b1wWZKMpQgBOouPkeY/SDhhSQJ5YPVGypqceF+wiJnGp6HGWyOEL/RGCUg3OcsT+/ptAHEI/ vsdQNwPRknd3aTsmuv9E7QywJR4RCXoFNp3VnVI1zbWAOxgWZnea67L+cVZzHE7gcUm8fP2O ZdINGMzPEiojxtnHHErBbcimveThlqkemJa+W62gJpsyj2GpOB2+Oe0a4eEEjCQfu1rmUKfq nPD7n7OKBgQP9yCyhKI6nupwOTImEvTUo8ICKex8PIshVSJ33ESEzUfT179qv684mahX/pPJ kpS/TAhxYAw/kG2Stj2XzWjvWWJ+BUbXrJ4EOo88giBjLXV5wWxAXINRTpMLtchsaceVTEsk 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcGUA8E7t/LsIw1yBXVQb5LC7Wph9f4HTXxx TGiryUkgbgXy8kR2M2GEUvv2mz24MKTF0hsu1uRDjnNAh5FiJCNY6rr4Fr59td5dqWeEwGBj l1fwu+R1bVbZX2SrxClTOIIFbCvwv+KNjzAnFJid6UcGySRF22LJt4JvmwnTKt9GoNdIGKyP heP0e9EzMULVEZGe5ObdG5Y5y4C6aH7XeroWfnPBjalSsggLVTXlM2CiKP54owMrKTOufxnU Xt4WZz1ZZr/NUiB5GDqLwv6+eV3rh3SPUuJGfjGI+2PiNJynkK9R7YfK0epZesk9q6Cqwi92 48Ba5TWlkoGCrOmPXS/HWsvwbYidyRT6Xfe8ZA/SwJ+ClA+RDFJ5wH5nNvNhLCJb4wKz7yVr xlRq2dTyUblhG2vFOl5QisLVV8bZr4m9ShTFXV1ZT6AgiF/Ca7yvPZ3X8ZmJtEPqb08pcOYu tFYIq1s9NwUEW+Zk9ncBLGgxLFfmOOD3lvfYXD6PGBhI/aNhWXho7fZQ+cmzwFXZgKfvsoiu bywkATdRJsIXQN5C8jKLvmoyjuMUbI1wYqeg2OgzgFvRXjR
  • Ironport-hdrordr: A9a23:XCIF3KnbXlgyW2xKhRs1TOg/VrLpDfPaimdD5ihNYBxZY6Wkfp +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICO4qTM2ftWjdyRCVxeRZg7cKrAeQfREWmtQtt5 uIEJIOd+EYb2IK9PoSiTPQe71LoKjlzEnBv5aj854Hd3AMV0gP1XYdNu7NeXcGOTWuSKBJYq a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWySw71M7aXdi0L0i+W /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYLbhJavmnhnQYseuv4FElnJ 3lpAohBd167zfrcmS8sXLWqnzd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ g7kl6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklWqvoJBiKp7zPLd MeQv01vJ1tABKnhjHizyJSKeWXLzgO9kzseDlDhiSXuwIm7kyRgXFoh/D3pU1wha7Ve6M0md gsDZ4Y5I2mNvVmFZ6VJN1xNfdfWVa9Ni4lDgqpUCfa/ec8SjDwl6I=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hello,

Relocations that reference symbols that belong to sections with a size
of 0 are not properly resolved, as the address of those symbols won't be
resolved in the first place.

Fix this by not ignoring sections with a size of 0, while still properly
handling the detection of whether a livepatch can be reapplied after
being reverted (patch 1).

Also detect whether any relocations reference unresolved symbols and
error out in that case, as those relocations cannot be resolved (patch
2).

I wonder whether it's possible to have unresolved symbols if we only
ignore non SHF_ALLOC sections, so we could maybe error out earlier if we
found a symbols that belongs to a non SHF_ALLOC section in
livepatch_elf_resolve_symbols.  The current approach is more conservative
as we would only report an error if we have unresolved symbols that are
referenced in relocations.

Thanks, Roger.

Roger Pau Monne (2):
  livepatch: do not ignore sections with 0 size
  livepatch: avoid relocations referencing ignored section symbols

 xen/arch/arm/arm32/livepatch.c  |  7 +++++++
 xen/arch/arm/arm64/livepatch.c  |  7 +++++++
 xen/arch/x86/livepatch.c        |  7 +++++++
 xen/common/livepatch.c          | 16 +++++++++++-----
 xen/common/livepatch_elf.c      |  6 ++++++
 xen/include/xen/livepatch_elf.h |  3 ++-
 6 files changed, 40 insertions(+), 6 deletions(-)

-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.