round community patche
This commit is contained in:
parent
11f766fad5
commit
898717184a
69
backport-avoid-infinite-loop-on-allocation-failure-in.patch
Normal file
69
backport-avoid-infinite-loop-on-allocation-failure-in.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 614d99eba149d0fafc64dfdddc7ef04970e0d86c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Brown <mcb30@ipxe.org>
|
||||||
|
Date: Tue, 20 Apr 2021 13:28:57 +0100
|
||||||
|
Subject: [PATCH] [xen] Avoid infinite loop on allocation failure in
|
||||||
|
xenstore_response()
|
||||||
|
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
||||||
|
Conflict:NA
|
||||||
|
Reference:https://github.com/ipxe/ipxe/commit/614d99eba149d0fafc64dfdddc7ef04970e0d86c
|
||||||
|
---
|
||||||
|
src/interface/xen/xenstore.c | 12 ++++++------
|
||||||
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
diff --git a/src/interface/xen/xenstore.c b/src/interface/xen/xenstore.c
|
||||||
|
index a14881f..c2da532 100644
|
||||||
|
--- a/src/interface/xen/xenstore.c
|
||||||
|
+++ b/src/interface/xen/xenstore.c
|
||||||
|
@@ -68,14 +68,14 @@ static void xenstore_send ( struct xen_hypervisor *xen, const void *data,
|
||||||
|
XENSTORE_RING_IDX cons;
|
||||||
|
XENSTORE_RING_IDX idx;
|
||||||
|
const char *bytes = data;
|
||||||
|
- size_t offset = 0;
|
||||||
|
+ size_t offset;
|
||||||
|
size_t fill;
|
||||||
|
|
||||||
|
DBGCP ( intf, "XENSTORE raw request:\n" );
|
||||||
|
DBGCP_HDA ( intf, MASK_XENSTORE_IDX ( prod ), data, len );
|
||||||
|
|
||||||
|
/* Write one byte at a time */
|
||||||
|
- while ( offset < len ) {
|
||||||
|
+ for ( offset =0 ; offset < len ; offset++ ) {
|
||||||
|
|
||||||
|
/* Wait for space to become available */
|
||||||
|
while ( 1 ) {
|
||||||
|
@@ -90,7 +90,7 @@ static void xenstore_send ( struct xen_hypervisor *xen, const void *data,
|
||||||
|
|
||||||
|
/* Write byte */
|
||||||
|
idx = MASK_XENSTORE_IDX ( prod++ );
|
||||||
|
- writeb ( bytes[offset++], &intf->req[idx] );
|
||||||
|
+ writeb ( bytes[offset], &intf->req[idx] );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Update producer counter */
|
||||||
|
@@ -125,13 +125,13 @@ static void xenstore_recv ( struct xen_hypervisor *xen, void *data,
|
||||||
|
XENSTORE_RING_IDX prod;
|
||||||
|
XENSTORE_RING_IDX idx;
|
||||||
|
char *bytes = data;
|
||||||
|
- size_t offset = 0;
|
||||||
|
+ size_t offset;
|
||||||
|
size_t fill;
|
||||||
|
|
||||||
|
DBGCP ( intf, "XENSTORE raw response:\n" );
|
||||||
|
|
||||||
|
/* Read one byte at a time */
|
||||||
|
- while ( offset < len ) {
|
||||||
|
+ for ( offset = 0 ; offset < len ; offset++ ) {
|
||||||
|
|
||||||
|
/* Wait for data to be ready */
|
||||||
|
while ( 1 ) {
|
||||||
|
@@ -147,7 +147,7 @@ static void xenstore_recv ( struct xen_hypervisor *xen, void *data,
|
||||||
|
/* Read byte */
|
||||||
|
idx = MASK_XENSTORE_IDX ( cons++ );
|
||||||
|
if ( data )
|
||||||
|
- bytes[offset++] = readb ( &intf->rsp[idx] );
|
||||||
|
+ bytes[offset] = readb ( &intf->rsp[idx] );
|
||||||
|
}
|
||||||
|
if ( data )
|
||||||
|
DBGCP_HDA ( intf, MASK_XENSTORE_IDX ( cons - len ), data, len );
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
10
ipxe.spec
10
ipxe.spec
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Name: ipxe
|
Name: ipxe
|
||||||
Version: 1.21.1
|
Version: 1.21.1
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: A network boot loader
|
Summary: A network boot loader
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2 with additional permissions and BSD
|
License: GPLv2 with additional permissions and BSD
|
||||||
@ -15,6 +15,8 @@ Source0: https://github.com/ipxe/ipxe/archive/v%{version}.tar.gz
|
|||||||
Patch0001: 0001-build-customize-configuration.patch
|
Patch0001: 0001-build-customize-configuration.patch
|
||||||
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
||||||
|
|
||||||
|
Patch6000: backport-avoid-infinite-loop-on-allocation-failure-in.patch
|
||||||
|
|
||||||
%ifarch %{buildarches}
|
%ifarch %{buildarches}
|
||||||
BuildRequires: perl-interpreter perl-Getopt-Long syslinux mtools genisoimage edk2-devel
|
BuildRequires: perl-interpreter perl-Getopt-Long syslinux mtools genisoimage edk2-devel
|
||||||
BuildRequires: xz-devel gcc binutils-devel
|
BuildRequires: xz-devel gcc binutils-devel
|
||||||
@ -172,6 +174,12 @@ done
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jun 09 2021 wangkerong <wangkerong@huawei.com> - 1.21.1-2
|
||||||
|
- Type:bugfix
|
||||||
|
- Id:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC: round commmunity patch fix Avoid infinite loop on allocation failure
|
||||||
|
|
||||||
* Wed Feb 03 2021 gaihuiying <gaihuiying1@huawei.com> - 1.21.1-1
|
* Wed Feb 03 2021 gaihuiying <gaihuiying1@huawei.com> - 1.21.1-1
|
||||||
- Type:requirement
|
- Type:requirement
|
||||||
- Id:NA
|
- Id:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user