From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF5A93E314C for ; Wed, 10 Jun 2026 11:48:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781092110; cv=none; b=UzAHCcrXwsNRnT9EUrnZmvO+sSBZKIf75wLV3f7vif036a9AkRpgD7s8ciV6th3QRY+6Pw4Yg2xCovl7uTS2aM22A8OBKIs8UMCNO48mrmVtG38Oetf4wiZ5X4KCSmiLKk+xy3tHD1R8e4atGJHarzVTd2/pSJgl8/yh8581aac= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781092110; c=relaxed/simple; bh=GaNEqwUdQ9ePWE4UGxADukb2g8iVupQLLKH37U+8B6o=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=b0bBniCmMU44bpf6DtuOWloR3KSuIHLFk+bkvptUWblRKc5FpB+b9e3sG5nx3Kn6DESIiuVHBrL47AM5WIe7TmUtAZomdsXlocuVVhEHwjmIryO+CDq8PrfWZvmjM0KCmPwikhun1kVuoM52UM932+Kp9L5Dqglb6PSgb7LpiMo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=ETJndOgf; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="ETJndOgf" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-68d232ed3f9so11311335a12.0 for ; Wed, 10 Jun 2026 04:48:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1781092107; x=1781696907; darn=vger.kernel.org; h=in-reply-to:autocrypt:from:content-language:references:cc:to :subject:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=GaNEqwUdQ9ePWE4UGxADukb2g8iVupQLLKH37U+8B6o=; b=ETJndOgfbLuKasHAIX+2/VxWz6VbQKhvRMMxrw3X82wvsjNFs+YUEbJ26UlDRKOtQ2 k7+7wbaHONhWGUM83Z6WHSkxN9dlht2aJe3W7w3KnNEtLsvVtk8s/W2LMdV3QzxBuPW3 8A5fcel4KzMnR/ixyzVQlFRQL4iihykarsiwF0b0DOoE5hpdjmSRqt7Gl1/NihxVM9Kz j9PCanMnwbnWuixxg+0UGvstvmNbNHRAhg6Ebvj/wX/jWB1gDbOYntaX/7wmb1lkvr1Y 9ZMA4+XAZA2P/Y5tFTmbnEMVvOHWEeaDq/J8cYEmLYS0Cy7jahhi5djzBpsf8wz6+ohT L+1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781092107; x=1781696907; h=in-reply-to:autocrypt:from:content-language:references:cc:to :subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GaNEqwUdQ9ePWE4UGxADukb2g8iVupQLLKH37U+8B6o=; b=j9LOYO+Oa+Rz7QiVLKWRM8XMetDxHrjfTBL45PkunBOMfd8skPUKxlv5rbBfAmA3ko 6G3lrEfy2fM2kE4Owy/lU+qQraVYVa5NZlysbQ765lSN34WDAkJDjCLhQc1PMfFq8ILw Wj+z6GULufChdMy1t4/yr/dlZkZhpr4wOTURQWdN+pQX0bminQKLf8OUnLSGov48ZpYM nZO4KA6fBzzwYnti0/wRrXXZeBCwZHsq3txoi37us98HMyisqS2zzdQJ57qbCsKF2K4z JmN3fIDpNmLiNj9IubUdyD8T9TcBPsukvJO7Sr5ft8i1HqrDRTcXXQSmvvksVlIPoV3/ LGYQ== X-Forwarded-Encrypted: i=1; AFNElJ/9QCcYPtUnXOoS1LN1G/KcZiynnNi/RyC0wkOM6PLQe5Eoo5EFTDCBAxSOSyNHXkvuBxvFbt/sBr51f48=@vger.kernel.org X-Gm-Message-State: AOJu0YwAlltR/Fisj8eOZ/M6dWyVOytuqCuBHB+6P55JrErbDOX7yRM9 +XTwOAt5AOj9/hAh9XOex9aOw3cHd7qvMWmtQGkjrQL1wRYRno3WU2djinHSAHJEn6lL97m6J2/ RCJcvqKc= X-Gm-Gg: Acq92OEFU1NVGerRl4aL+XX1dE1Zz3NPywVgwD+Kt0hqM9+eQc9Tq23sB/p4xHUXXqi 6jRGUfeP6n4/OfhHeaMPF1cTjRiVJrxdEfqashXFWDPYKJRHOmMe8uyFfehyABNRrvXRij15LhR Y2tPFjjklIchKpl4SjoJxcI2gxBz/11iFSd2gOXrMIEcFzxIKNAKlcaknF8Z82HpOyqo9uRXVmV AMqtNrs0XqXsr93CEOPcelB1Hu6uRoE2Vl9d2OuVdIrhJVLfJL/BWM00Nv5EVNfcTc51cUPuka9 QiGiCKx7vqlx1nf7VECWKbgw5YmqunNZFFAK2K3ub0H3pyomcEUY4AYx7sGwSdaiG12Eej7OfBQ 3Z0rW2A+aJ+/Tm3+zQR2xJ2nY9qi8EEkdD2AH8TJc1A2elVOZ66iP/CKwS9LlQK4iC5PDocweg5 qvb3ME4dI4rYszGvUCbpd0EEO89Lh538V2Q6IllF0hrB0CB3BmUltTpff7kNgm6B4lk/MA6RKXq nmdfL7Hg0GpPu8cp7hQG1S7YR1Gk3H3yQ8u5Ygxm62+7herpRRq8lVz6BFjtNVYWYjjN/kI8XI= X-Received: by 2002:a05:6402:35cd:b0:68d:651f:ccf6 with SMTP id 4fb4d7f45d1cf-68fa4c06618mr11673993a12.4.1781092107043; Wed, 10 Jun 2026 04:48:27 -0700 (PDT) Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112? (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de. [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-68e65027662sm9977446a12.11.2026.06.10.04.48.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 10 Jun 2026 04:48:26 -0700 (PDT) Message-ID: Date: Wed, 10 Jun 2026 13:48:26 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before indexing rsp[] To: Michael Bommarito , Stefano Stabellini , Oleksandr Tyshchenko Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org References: <20260610114137.3749027-1-michael.bommarito@gmail.com> Content-Language: en-US From: Juergen Gross Autocrypt: addr=jgross@suse.com; keydata= xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw== In-Reply-To: <20260610114137.3749027-1-michael.bommarito@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------Tx1LOYp8wW1aTJ53SXNaFzfJ" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Tx1LOYp8wW1aTJ53SXNaFzfJ Content-Type: multipart/mixed; boundary="------------d9yYnYsWYCkJQbR32k9vbJ6W"; protected-headers="v1" From: Juergen Gross To: Michael Bommarito , Stefano Stabellini , Oleksandr Tyshchenko Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org Message-ID: Subject: Re: [PATCH] xen/pvcalls: bound backend response req_id before indexing rsp[] References: <20260610114137.3749027-1-michael.bommarito@gmail.com> In-Reply-To: <20260610114137.3749027-1-michael.bommarito@gmail.com> --------------d9yYnYsWYCkJQbR32k9vbJ6W Content-Type: multipart/mixed; boundary="------------Q20YPybG4hq1agZCvh2N8YwM" --------------Q20YPybG4hq1agZCvh2N8YwM Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMTAuMDYuMjYgMTM6NDEsIE1pY2hhZWwgQm9tbWFyaXRvIHdyb3RlOg0KPiBwdmNhbGxz X2Zyb250X2V2ZW50X2hhbmRsZXIoKSB0YWtlcyByZXFfaWQgZGlyZWN0bHkgZnJvbSB0aGUN Cj4gYmFja2VuZC1zdXBwbGllZCByaW5nIHJlc3BvbnNlIGFuZCB1c2VzIGl0IHRvIGluZGV4 IHRoZSBmaXhlZC1zaXplDQo+IGJlZGF0YS0+cnNwW10gYXJyYXkgZm9yIGEgbWVtY3B5KCkg YW5kIGEgc3RvcmUsIHdpdGggbm8gcmFuZ2UgY2hlY2suIEENCj4gbWFsaWNpb3VzIG9yIGJ1 Z2d5IGJhY2tlbmQgY2FuIHNldCByZXFfaWQgcGFzdCBQVkNBTExTX05SX1JTUF9QRVJfUklO Rw0KPiBhbmQgZHJpdmUgYW4gb3V0LW9mLWJvdW5kcyB3cml0ZSBwYXN0IHRoZSBiZWRhdGEg YWxsb2NhdGlvbi4NCj4gDQo+IHJlcV9pZCB3YXMgYWxzbyBkZWNsYXJlZCBpbnQgd2hpbGUg dGhlIHdpcmUgZmllbGQgcnNwLT5yZXFfaWQgaXMgdTMyLCBzbw0KPiBhIHJhbmdlIGNoZWNr IG9uIHRoZSBzaWduZWQgdmFsdWUgaXMgaW5zdWZmaWNpZW50IG9uIGl0cyBvd246IGEgYmFj a2VuZA0KPiByZXFfaWQgb2YgMHhmZmZmZmZmZiBiZWNvbWVzIC0xLCBwYXNzZXMgdGhlID49 IFBWQ0FMTFNfTlJfUlNQX1BFUl9SSU5HDQo+IHRlc3QsIGFuZCBpbmRleGVzIGJlZGF0YS0+ cnNwWy0xXSwgYW4gb3V0LW9mLWJvdW5kcyB3cml0ZSB0byB0aGUgbGVmdCBvZg0KPiB0aGUg YXJyYXkuIERlY2xhcmUgcmVxX2lkIGFzIHUzMiBhbmQgYWRkIHRoZSByYW5nZSBjaGVjayBz byBib3RoIGVuZHMgb2YNCj4gdGhlIGluZGV4IGFyZSBjb3ZlcmVkLg0KPiANCj4gVGhlIHB2 Y2FsbHMgZnJvbnRlbmQgY3VycmVudGx5IHRydXN0cyBpdHMgYmFja2VuZCwgc28gdGhpcyBp cyBub3QgYQ0KPiBjbGFzc2ljLVhlbiBzZWN1cml0eSBpc3N1ZSwgYnV0IGl0IG1hdHRlcnMg Zm9yIGhhcmRlbmluZyBQViBmcm9udGVuZHMNCj4gYWdhaW5zdCBtYWxpY2lvdXMgYmFja2Vu ZHMgKGNvbmZpZGVudGlhbCBhbmQgZGlzYWdncmVnYXRlZCBkZXBsb3ltZW50cykuDQo+IFJl amVjdCByZXNwb25zZXMgd2hvc2UgcmVxX2lkIGlzIG91dCBvZiByYW5nZS4NCj4gDQo+IEZp eGVzOiAyMzVhNzFjNTM5MDMgKCJ4ZW4vcHZjYWxsczogaW1wbGVtZW50IHJlbGVhc2UgY29t bWFuZCIpDQo+IEFzc2lzdGVkLWJ5OiBDbGF1ZGU6Y2xhdWRlLW9wdXMtNC04DQo+IFNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgQm9tbWFyaXRvIDxtaWNoYWVsLmJvbW1hcml0b0BnbWFpbC5j b20+DQo+IC0tLQ0KPiAgIGRyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYyB8IDkgKysrKysr KystDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYyBiL2Ry aXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYw0KPiBpbmRleCA1MGNlNDgyMGY3ZWViLi43OGJk NGU4OTRiMzJlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMN Cj4gKysrIGIvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jDQo+IEBAIC0xNjgsNyArMTY4 LDggQEAgc3RhdGljIGlycXJldHVybl90IHB2Y2FsbHNfZnJvbnRfZXZlbnRfaGFuZGxlcihp bnQgaXJxLCB2b2lkICpkZXZfaWQpDQo+ICAgCXN0cnVjdCBwdmNhbGxzX2JlZGF0YSAqYmVk YXRhOw0KPiAgIAlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVzcG9uc2UgKnJzcDsNCj4gICAJdWlu dDhfdCAqc3JjLCAqZHN0Ow0KPiAtCWludCByZXFfaWQgPSAwLCBtb3JlID0gMCwgZG9uZSA9 IDA7DQo+ICsJdTMyIHJlcV9pZCA9IDA7DQo+ICsJaW50IG1vcmUgPSAwLCBkb25lID0gMDsN Cj4gICANCj4gICAJaWYgKGRldiA9PSBOVUxMKQ0KPiAgIAkJcmV0dXJuIElSUV9IQU5ETEVE Ow0KPiBAQCAtMTg1LDYgKzE4NiwxMiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19m cm9udF9ldmVudF9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkNCj4gICAJCXJzcCA9 IFJJTkdfR0VUX1JFU1BPTlNFKCZiZWRhdGEtPnJpbmcsIGJlZGF0YS0+cmluZy5yc3BfY29u cyk7DQo+ICAgDQo+ICAgCQlyZXFfaWQgPSByc3AtPnJlcV9pZDsNCj4gKwkJaWYgKHJlcV9p ZCA+PSBQVkNBTExTX05SX1JTUF9QRVJfUklORykgew0KPiArCQkJLyogTWFsaWNpb3VzIG9y IGJ1Z2d5IGJhY2tlbmQ6IHJlcV9pZCBvdXQgb2YgcmFuZ2UuICovDQoNClBsZWFzZSBhZGQg YW4gZXJyb3IgbWVzc2FnZSBoZXJlLCB1c2luZyBwcl9lcnJfb25jZSgpLg0KDQpJbnN0ZWFk IG9mIGp1c3QgaWdub3Jpbmcgc3VjaCByZXNwb25zZXMsIEknZCBjb25zaWRlciBzdG9wcGlu ZyBjb21tdW5pY2F0aW9uDQp3aXRoIHRoZSBiYWNrZW5kIGZvciB0aGlzIGRldmljZS4NCg0K DQpKdWVyZ2VuDQo= --------------Q20YPybG4hq1agZCvh2N8YwM Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc" Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 kt+z4drzFUyEjLM1vVvIMjkUoJs=3D =3DeeAB -----END PGP PUBLIC KEY BLOCK----- --------------Q20YPybG4hq1agZCvh2N8YwM-- --------------d9yYnYsWYCkJQbR32k9vbJ6W-- --------------Tx1LOYp8wW1aTJ53SXNaFzfJ Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmopTwoFAwAAAAAACgkQsN6d1ii/Ey+d Ggf/XZKVztHeDyIB+onfzbh23KeZaRucCZKP8MzxYj9KpYAI53ojxWV4t3yGtfMWnf0JA7TWGgUe +nYVwi1C2B9eHdkt1kfIhmcKY1AXtMIv8/bwK1+2lpLqhbG+cg/oIOLCNj/J3QWgwVNOBF6D1Zqq o5XSsaMHgr+jGx5iR7sY2ng23SsX2/3+6dhEF/g1wiXKCex07yaLB9zqACxACC+kIYdQKz7MjXGf wzt+ZQs3DoPga6t9So3JtZZCOv6TZROi/QGW/OtGZ3X9N0M28gDS+MZZC7IR9a9ERmviy/hOIlUR 4I6UXmoEk4/fqC0opgKIQa2OTsCaunoNngt2PUQb5A== =OUlR -----END PGP SIGNATURE----- --------------Tx1LOYp8wW1aTJ53SXNaFzfJ--