Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1288845 > unrolled thread

[PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field

Started byHaiyang Zhang <haiyangz@microsoft.com>
First post2015-12-10 20:00 +0100
Last post2015-12-11 17:10 +0100
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field Haiyang Zhang <haiyangz@microsoft.com> - 2015-12-10 20:00 +0100
    Re: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field Vitaly Kuznetsov <vkuznets@redhat.com> - 2015-12-11 13:40 +0100
      Re: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field Vitaly Kuznetsov <vkuznets@redhat.com> - 2015-12-11 15:00 +0100
        RE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data  field Haiyang Zhang <haiyangz@microsoft.com> - 2015-12-11 17:00 +0100
        RE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data  field KY Srinivasan <kys@microsoft.com> - 2015-12-11 17:10 +0100

#1288845 — [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field

FromHaiyang Zhang <haiyangz@microsoft.com>
Date2015-12-10 20:00 +0100
Subject[PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field
Message-ID<qEeBD-1xO-93@gated-at.bofh.it>
In commit 2a04ae8acb14 ("hv_netvsc: remove locking in netvsc_send()"), the
locking for MSD (Multi-Send Data) field was removed. This could cause a
race condition between RNDIS control messages and data packets processing,
because these two types of traffic are not synchronized.
This patch fixes this issue by sending control messages out directly
without reading MSD field.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
---
 drivers/net/hyperv/netvsc.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 02bab9a..059fc52 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -867,6 +867,14 @@ int netvsc_send(struct hv_device *device,
 	packet->send_buf_index = NETVSC_INVALID_INDEX;
 	packet->cp_partial = false;
 
+	/* Send control message directly without accessing msd (Multi-Send
+	 * Data) field which may be changed during data packet processing.
+	 */
+	if (!skb) {
+		cur_send = packet;
+		goto send_now;
+	}
+
 	msdp = &net_device->msd[q_idx];
 
 	/* batch packets in send buffer if possible */
@@ -939,6 +947,7 @@ int netvsc_send(struct hv_device *device,
 		}
 	}
 
+send_now:
 	if (cur_send)
 		ret = netvsc_send_pkt(cur_send, net_device, pb, skb);
 
-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1289522

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2015-12-11 13:40 +0100
Message-ID<qEv9o-4hC-17@gated-at.bofh.it>
In reply to#1288845

[Multipart message — attachments visible in raw view] — view raw

Haiyang Zhang <haiyangz@microsoft.com> writes:

> In commit 2a04ae8acb14 ("hv_netvsc: remove locking in netvsc_send()"), the
> locking for MSD (Multi-Send Data) field was removed. This could cause a
> race condition between RNDIS control messages and data packets processing,
> because these two types of traffic are not synchronized.
> This patch fixes this issue by sending control messages out directly
> without reading MSD field.
>
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
> ---
>  drivers/net/hyperv/netvsc.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
> index 02bab9a..059fc52 100644
> --- a/drivers/net/hyperv/netvsc.c
> +++ b/drivers/net/hyperv/netvsc.c
> @@ -867,6 +867,14 @@ int netvsc_send(struct hv_device *device,
>  	packet->send_buf_index = NETVSC_INVALID_INDEX;
>  	packet->cp_partial = false;
>  
> +	/* Send control message directly without accessing msd (Multi-Send
> +	 * Data) field which may be changed during data packet processing.
> +	 */
> +	if (!skb) {
> +		cur_send = packet;
> +		goto send_now;
> +	}
> +

Is is supposed to be applied on top of some other patches? It doesn't
compile on top of current net-next:

drivers/net/hyperv/netvsc.c: In function ‘netvsc_send’:
drivers/net/hyperv/netvsc.c:865:7: error: ‘skb’ undeclared (first use in
this function)
  if (!skb) {
         ^
         
Did you mean to check rndis_msg instead (as skb is not defined here)?

>  	msdp = &net_device->msd[q_idx];
>  
>  	/* batch packets in send buffer if possible */
> @@ -939,6 +947,7 @@ int netvsc_send(struct hv_device *device,
>  		}
>  	}
>  
> +send_now:
>  	if (cur_send)
>  		ret = netvsc_send_pkt(cur_send, net_device, pb, skb);

I suppose we untangle these two pathes completely: let
rndis_filter_send_request() call netvsc_send_pkt() directly. Please see
my patch attached (note: it should be split in 3 patches if
submitted). If you like the idea I can send it.

-- 
  Vitaly

[toc] | [prev] | [next] | [standalone]


#1289588

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2015-12-11 15:00 +0100
Message-ID<qEwoO-5c5-1@gated-at.bofh.it>
In reply to#1289522
Vitaly Kuznetsov <vkuznets@redhat.com> writes:

> Haiyang Zhang <haiyangz@microsoft.com> writes:
>
>> In commit 2a04ae8acb14 ("hv_netvsc: remove locking in netvsc_send()"), the
>> locking for MSD (Multi-Send Data) field was removed. This could cause a
>> race condition between RNDIS control messages and data packets processing,
>> because these two types of traffic are not synchronized.
>> This patch fixes this issue by sending control messages out directly
>> without reading MSD field.
>>
>> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
>> Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
>> ---
>>  drivers/net/hyperv/netvsc.c |    9 +++++++++
>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
>> index 02bab9a..059fc52 100644
>> --- a/drivers/net/hyperv/netvsc.c
>> +++ b/drivers/net/hyperv/netvsc.c
>> @@ -867,6 +867,14 @@ int netvsc_send(struct hv_device *device,
>>  	packet->send_buf_index = NETVSC_INVALID_INDEX;
>>  	packet->cp_partial = false;
>>  
>> +	/* Send control message directly without accessing msd (Multi-Send
>> +	 * Data) field which may be changed during data packet processing.
>> +	 */
>> +	if (!skb) {
>> +		cur_send = packet;
>> +		goto send_now;
>> +	}
>> +
>
> Is is supposed to be applied on top of some other patches? It doesn't
> compile on top of current net-next:
>
> drivers/net/hyperv/netvsc.c: In function ‘netvsc_send’:
> drivers/net/hyperv/netvsc.c:865:7: error: ‘skb’ undeclared (first use in
> this function)
>   if (!skb) {
>          ^
>
> Did you mean to check rndis_msg instead (as skb is not defined here)?

Oh, my bad, it was me who was looking at the wrong branch... Sorry for
the noise.

>
>>  	msdp = &net_device->msd[q_idx];
>>  
>>  	/* batch packets in send buffer if possible */
>> @@ -939,6 +947,7 @@ int netvsc_send(struct hv_device *device,
>>  		}
>>  	}
>>  
>> +send_now:
>>  	if (cur_send)
>>  		ret = netvsc_send_pkt(cur_send, net_device, pb, skb);
>
> I suppose we untangle these two pathes completely: let
> rndis_filter_send_request() call netvsc_send_pkt() directly. Please see
> my patch attached (note: it should be split in 3 patches if
> submitted). If you like the idea I can send it.

This patch will need some changes but the suggestion still stands: let's
untangle sending data and control messages.

-- 
  Vitaly
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1289697 — RE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field

FromHaiyang Zhang <haiyangz@microsoft.com>
Date2015-12-11 17:00 +0100
SubjectRE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field
Message-ID<qEygX-6sM-29@gated-at.bofh.it>
In reply to#1289588
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVml0YWx5IEt1em5ldHNv
diBbbWFpbHRvOnZrdXpuZXRzQHJlZGhhdC5jb21dDQo+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIg
MTEsIDIwMTUgODo1MyBBTQ0KPiBUbzogSGFpeWFuZyBaaGFuZyA8aGFpeWFuZ3pAbWljcm9zb2Z0
LmNvbT4NCj4gQ2M6IGRhdmVtQGRhdmVtbG9mdC5uZXQ7IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmc7
IG9sYWZAYWVwZmxlLmRlOw0KPiBqYXNvd2FuZ0ByZWRoYXQuY29tOyBkcml2ZXJkZXYtZGV2ZWxA
bGludXhkcml2ZXJwcm9qZWN0Lm9yZzsgbGludXgtDQo+IGtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcN
Cj4gU3ViamVjdDogUmU6IFtQQVRDSCBuZXQtbmV4dF0gaHZfbmV0dnNjOiBGaXggcmFjZSBjb25k
aXRpb24gb24gTXVsdGktDQo+IFNlbmQgRGF0YSBmaWVsZA0KPiANCj4gVml0YWx5IEt1em5ldHNv
diA8dmt1em5ldHNAcmVkaGF0LmNvbT4gd3JpdGVzOg0KPiANCj4gPiBIYWl5YW5nIFpoYW5nIDxo
YWl5YW5nekBtaWNyb3NvZnQuY29tPiB3cml0ZXM6DQo+ID4NCj4gPj4gSW4gY29tbWl0IDJhMDRh
ZThhY2IxNCAoImh2X25ldHZzYzogcmVtb3ZlIGxvY2tpbmcgaW4gbmV0dnNjX3NlbmQoKSIpLA0K
PiB0aGUNCj4gPj4gbG9ja2luZyBmb3IgTVNEIChNdWx0aS1TZW5kIERhdGEpIGZpZWxkIHdhcyBy
ZW1vdmVkLiBUaGlzIGNvdWxkIGNhdXNlDQo+IGENCj4gPj4gcmFjZSBjb25kaXRpb24gYmV0d2Vl
biBSTkRJUyBjb250cm9sIG1lc3NhZ2VzIGFuZCBkYXRhIHBhY2tldHMNCj4gcHJvY2Vzc2luZywN
Cj4gPj4gYmVjYXVzZSB0aGVzZSB0d28gdHlwZXMgb2YgdHJhZmZpYyBhcmUgbm90IHN5bmNocm9u
aXplZC4NCj4gPj4gVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IHNlbmRpbmcgY29udHJv
bCBtZXNzYWdlcyBvdXQgZGlyZWN0bHkNCj4gPj4gd2l0aG91dCByZWFkaW5nIE1TRCBmaWVsZC4N
Cj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogSGFpeWFuZyBaaGFuZyA8aGFpeWFuZ3pAbWljcm9z
b2Z0LmNvbT4NCj4gPj4gUmV2aWV3ZWQtYnk6IEsuIFkuIFNyaW5pdmFzYW4gPGt5c0BtaWNyb3Nv
ZnQuY29tPg0KPiA+PiAtLS0NCj4gPj4gIGRyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYyB8ICAg
IDkgKysrKysrKysrDQo+ID4+ICAxIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMCBk
ZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2h5cGVydi9u
ZXR2c2MuYw0KPiBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYw0KPiA+PiBpbmRleCAwMmJh
YjlhLi4wNTlmYzUyIDEwMDY0NA0KPiA+PiAtLS0gYS9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNj
LmMNCj4gPj4gKysrIGIvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5jDQo+ID4+IEBAIC04Njcs
NiArODY3LDE0IEBAIGludCBuZXR2c2Nfc2VuZChzdHJ1Y3QgaHZfZGV2aWNlICpkZXZpY2UsDQo+
ID4+ICAJcGFja2V0LT5zZW5kX2J1Zl9pbmRleCA9IE5FVFZTQ19JTlZBTElEX0lOREVYOw0KPiA+
PiAgCXBhY2tldC0+Y3BfcGFydGlhbCA9IGZhbHNlOw0KPiA+Pg0KPiA+PiArCS8qIFNlbmQgY29u
dHJvbCBtZXNzYWdlIGRpcmVjdGx5IHdpdGhvdXQgYWNjZXNzaW5nIG1zZCAoTXVsdGktU2VuZA0K
PiA+PiArCSAqIERhdGEpIGZpZWxkIHdoaWNoIG1heSBiZSBjaGFuZ2VkIGR1cmluZyBkYXRhIHBh
Y2tldCBwcm9jZXNzaW5nLg0KPiA+PiArCSAqLw0KPiA+PiArCWlmICghc2tiKSB7DQo+ID4+ICsJ
CWN1cl9zZW5kID0gcGFja2V0Ow0KPiA+PiArCQlnb3RvIHNlbmRfbm93Ow0KPiA+PiArCX0NCj4g
Pj4gKw0KPiA+DQo+ID4gSXMgaXMgc3VwcG9zZWQgdG8gYmUgYXBwbGllZCBvbiB0b3Agb2Ygc29t
ZSBvdGhlciBwYXRjaGVzPyBJdCBkb2Vzbid0DQo+ID4gY29tcGlsZSBvbiB0b3Agb2YgY3VycmVu
dCBuZXQtbmV4dDoNCj4gPg0KPiA+IGRyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYzogSW4gZnVu
Y3Rpb24g4oCYbmV0dnNjX3NlbmTigJk6DQo+ID4gZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5j
Ojg2NTo3OiBlcnJvcjog4oCYc2ti4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZQ0KPiBpbg0KPiA+
IHRoaXMgZnVuY3Rpb24pDQo+ID4gICBpZiAoIXNrYikgew0KPiA+ICAgICAgICAgIF4NCj4gPg0K
PiA+IERpZCB5b3UgbWVhbiB0byBjaGVjayBybmRpc19tc2cgaW5zdGVhZCAoYXMgc2tiIGlzIG5v
dCBkZWZpbmVkIGhlcmUpPw0KPiANCj4gT2gsIG15IGJhZCwgaXQgd2FzIG1lIHdobyB3YXMgbG9v
a2luZyBhdCB0aGUgd3JvbmcgYnJhbmNoLi4uIFNvcnJ5IGZvcg0KPiB0aGUgbm9pc2UuDQo+IA0K
PiA+DQo+ID4+ICAJbXNkcCA9ICZuZXRfZGV2aWNlLT5tc2RbcV9pZHhdOw0KPiA+Pg0KPiA+PiAg
CS8qIGJhdGNoIHBhY2tldHMgaW4gc2VuZCBidWZmZXIgaWYgcG9zc2libGUgKi8NCj4gPj4gQEAg
LTkzOSw2ICs5NDcsNyBAQCBpbnQgbmV0dnNjX3NlbmQoc3RydWN0IGh2X2RldmljZSAqZGV2aWNl
LA0KPiA+PiAgCQl9DQo+ID4+ICAJfQ0KPiA+Pg0KPiA+PiArc2VuZF9ub3c6DQo+ID4+ICAJaWYg
KGN1cl9zZW5kKQ0KPiA+PiAgCQlyZXQgPSBuZXR2c2Nfc2VuZF9wa3QoY3VyX3NlbmQsIG5ldF9k
ZXZpY2UsIHBiLCBza2IpOw0KPiA+DQo+ID4gSSBzdXBwb3NlIHdlIHVudGFuZ2xlIHRoZXNlIHR3
byBwYXRoZXMgY29tcGxldGVseTogbGV0DQo+ID4gcm5kaXNfZmlsdGVyX3NlbmRfcmVxdWVzdCgp
IGNhbGwgbmV0dnNjX3NlbmRfcGt0KCkgZGlyZWN0bHkuIFBsZWFzZQ0KPiBzZWUNCj4gPiBteSBw
YXRjaCBhdHRhY2hlZCAobm90ZTogaXQgc2hvdWxkIGJlIHNwbGl0IGluIDMgcGF0Y2hlcyBpZg0K
PiA+IHN1Ym1pdHRlZCkuIElmIHlvdSBsaWtlIHRoZSBpZGVhIEkgY2FuIHNlbmQgaXQuDQo+IA0K
PiBUaGlzIHBhdGNoIHdpbGwgbmVlZCBzb21lIGNoYW5nZXMgYnV0IHRoZSBzdWdnZXN0aW9uIHN0
aWxsIHN0YW5kczogbGV0J3MNCj4gdW50YW5nbGUgc2VuZGluZyBkYXRhIGFuZCBjb250cm9sIG1l
c3NhZ2VzLg0KDQpUaGFua3MgZm9yIHRoZSBzdWdnZXN0aW9uLg0KSSBzdGlsbCBwcmVmZXIgZml4
aW5nIHRoaXMgYnVnIGluIHRoZSBuZXR2c2Nfc2VuZCgpLCBhbmQga2VlcCB0aGUgY29tbW9uDQpl
bnRyeSBwb2ludCBmb3Igc2VuZGluZyBkYXRhICYgY29udHJvbCBwYWNrZXRzLiBTbywgdGhlIHRv
dGFsIGxpbmVzIG9mDQpjb2RlIGlzIHNtYWxsZXIuIEFuZCwgd2hlbiB3ZSBhZGQgbW9yZSBwcmUt
cHJvY2Vzc2luZyBzdGVwcyBmb3Igc2VuZCBpbiANCnRoZSBmdXR1cmUsIHdlIHdvbid0IG5lZWQg
dG8gY2hhbmdlIG11bHRpcGxlIHBsYWNlcy4NCg0KVGhhbmtzLA0KLSBIYWl5YW5nDQoNCg==
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1289704 — RE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field

FromKY Srinivasan <kys@microsoft.com>
Date2015-12-11 17:10 +0100
SubjectRE: [PATCH net-next] hv_netvsc: Fix race condition on Multi-Send Data field
Message-ID<qEyqC-6Ls-29@gated-at.bofh.it>
In reply to#1289588
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWwgW21haWx0bzpk
cml2ZXJkZXYtZGV2ZWwtYm91bmNlc0BsaW51eGRyaXZlcnByb2plY3Qub3JnXSBPbg0KPiBCZWhh
bGYgT2YgVml0YWx5IEt1em5ldHNvdg0KPiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDExLCAyMDE1
IDU6NTMgQU0NCj4gVG86IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5jb20+DQo+
IENjOiBvbGFmQGFlcGZsZS5kZTsgbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsgamFzb3dhbmdAcmVk
aGF0LmNvbTsNCj4gZHJpdmVyZGV2LWRldmVsQGxpbnV4ZHJpdmVycHJvamVjdC5vcmc7IGxpbnV4
LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7DQo+IGRhdmVtQGRhdmVtbG9mdC5uZXQNCj4gU3ViamVj
dDogUmU6IFtQQVRDSCBuZXQtbmV4dF0gaHZfbmV0dnNjOiBGaXggcmFjZSBjb25kaXRpb24gb24g
TXVsdGktU2VuZA0KPiBEYXRhIGZpZWxkDQo+IA0KPiBWaXRhbHkgS3V6bmV0c292IDx2a3V6bmV0
c0ByZWRoYXQuY29tPiB3cml0ZXM6DQo+IA0KPiA+IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1p
Y3Jvc29mdC5jb20+IHdyaXRlczoNCj4gPg0KPiA+PiBJbiBjb21taXQgMmEwNGFlOGFjYjE0ICgi
aHZfbmV0dnNjOiByZW1vdmUgbG9ja2luZyBpbiBuZXR2c2Nfc2VuZCgpIiksDQo+IHRoZQ0KPiA+
PiBsb2NraW5nIGZvciBNU0QgKE11bHRpLVNlbmQgRGF0YSkgZmllbGQgd2FzIHJlbW92ZWQuIFRo
aXMgY291bGQgY2F1c2UgYQ0KPiA+PiByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIFJORElTIGNvbnRy
b2wgbWVzc2FnZXMgYW5kIGRhdGEgcGFja2V0cw0KPiBwcm9jZXNzaW5nLA0KPiA+PiBiZWNhdXNl
IHRoZXNlIHR3byB0eXBlcyBvZiB0cmFmZmljIGFyZSBub3Qgc3luY2hyb25pemVkLg0KPiA+PiBU
aGlzIHBhdGNoIGZpeGVzIHRoaXMgaXNzdWUgYnkgc2VuZGluZyBjb250cm9sIG1lc3NhZ2VzIG91
dCBkaXJlY3RseQ0KPiA+PiB3aXRob3V0IHJlYWRpbmcgTVNEIGZpZWxkLg0KPiA+Pg0KPiA+PiBT
aWduZWQtb2ZmLWJ5OiBIYWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29tPg0KPiA+
PiBSZXZpZXdlZC1ieTogSy4gWS4gU3Jpbml2YXNhbiA8a3lzQG1pY3Jvc29mdC5jb20+DQo+ID4+
IC0tLQ0KPiA+PiAgZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5jIHwgICAgOSArKysrKysrKysN
Cj4gPj4gIDEgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQ0K
PiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5jIGIvZHJp
dmVycy9uZXQvaHlwZXJ2L25ldHZzYy5jDQo+ID4+IGluZGV4IDAyYmFiOWEuLjA1OWZjNTIgMTAw
NjQ0DQo+ID4+IC0tLSBhL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2MuYw0KPiA+PiArKysgYi9k
cml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjLmMNCj4gPj4gQEAgLTg2Nyw2ICs4NjcsMTQgQEAgaW50
IG5ldHZzY19zZW5kKHN0cnVjdCBodl9kZXZpY2UgKmRldmljZSwNCj4gPj4gIAlwYWNrZXQtPnNl
bmRfYnVmX2luZGV4ID0gTkVUVlNDX0lOVkFMSURfSU5ERVg7DQo+ID4+ICAJcGFja2V0LT5jcF9w
YXJ0aWFsID0gZmFsc2U7DQo+ID4+DQo+ID4+ICsJLyogU2VuZCBjb250cm9sIG1lc3NhZ2UgZGly
ZWN0bHkgd2l0aG91dCBhY2Nlc3NpbmcgbXNkIChNdWx0aS1TZW5kDQo+ID4+ICsJICogRGF0YSkg
ZmllbGQgd2hpY2ggbWF5IGJlIGNoYW5nZWQgZHVyaW5nIGRhdGEgcGFja2V0IHByb2Nlc3Npbmcu
DQo+ID4+ICsJICovDQo+ID4+ICsJaWYgKCFza2IpIHsNCj4gPj4gKwkJY3VyX3NlbmQgPSBwYWNr
ZXQ7DQo+ID4+ICsJCWdvdG8gc2VuZF9ub3c7DQo+ID4+ICsJfQ0KPiA+PiArDQo+ID4NCj4gPiBJ
cyBpcyBzdXBwb3NlZCB0byBiZSBhcHBsaWVkIG9uIHRvcCBvZiBzb21lIG90aGVyIHBhdGNoZXM/
IEl0IGRvZXNuJ3QNCj4gPiBjb21waWxlIG9uIHRvcCBvZiBjdXJyZW50IG5ldC1uZXh0Og0KPiA+
DQo+ID4gZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzYy5jOiBJbiBmdW5jdGlvbiDigJhuZXR2c2Nf
c2VuZOKAmToNCj4gPiBkcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjLmM6ODY1Ojc6IGVycm9yOiDi
gJhza2LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluDQo+ID4gdGhpcyBmdW5jdGlvbikNCj4g
PiAgIGlmICghc2tiKSB7DQo+ID4gICAgICAgICAgXg0KPiA+DQo+ID4gRGlkIHlvdSBtZWFuIHRv
IGNoZWNrIHJuZGlzX21zZyBpbnN0ZWFkIChhcyBza2IgaXMgbm90IGRlZmluZWQgaGVyZSk/DQo+
IA0KPiBPaCwgbXkgYmFkLCBpdCB3YXMgbWUgd2hvIHdhcyBsb29raW5nIGF0IHRoZSB3cm9uZyBi
cmFuY2guLi4gU29ycnkgZm9yDQo+IHRoZSBub2lzZS4NCj4gDQo+ID4NCj4gPj4gIAltc2RwID0g
Jm5ldF9kZXZpY2UtPm1zZFtxX2lkeF07DQo+ID4+DQo+ID4+ICAJLyogYmF0Y2ggcGFja2V0cyBp
biBzZW5kIGJ1ZmZlciBpZiBwb3NzaWJsZSAqLw0KPiA+PiBAQCAtOTM5LDYgKzk0Nyw3IEBAIGlu
dCBuZXR2c2Nfc2VuZChzdHJ1Y3QgaHZfZGV2aWNlICpkZXZpY2UsDQo+ID4+ICAJCX0NCj4gPj4g
IAl9DQo+ID4+DQo+ID4+ICtzZW5kX25vdzoNCj4gPj4gIAlpZiAoY3VyX3NlbmQpDQo+ID4+ICAJ
CXJldCA9IG5ldHZzY19zZW5kX3BrdChjdXJfc2VuZCwgbmV0X2RldmljZSwgcGIsIHNrYik7DQo+
ID4NCj4gPiBJIHN1cHBvc2Ugd2UgdW50YW5nbGUgdGhlc2UgdHdvIHBhdGhlcyBjb21wbGV0ZWx5
OiBsZXQNCj4gPiBybmRpc19maWx0ZXJfc2VuZF9yZXF1ZXN0KCkgY2FsbCBuZXR2c2Nfc2VuZF9w
a3QoKSBkaXJlY3RseS4gUGxlYXNlIHNlZQ0KPiA+IG15IHBhdGNoIGF0dGFjaGVkIChub3RlOiBp
dCBzaG91bGQgYmUgc3BsaXQgaW4gMyBwYXRjaGVzIGlmDQo+ID4gc3VibWl0dGVkKS4gSWYgeW91
IGxpa2UgdGhlIGlkZWEgSSBjYW4gc2VuZCBpdC4NCj4gDQo+IFRoaXMgcGF0Y2ggd2lsbCBuZWVk
IHNvbWUgY2hhbmdlcyBidXQgdGhlIHN1Z2dlc3Rpb24gc3RpbGwgc3RhbmRzOiBsZXQncw0KPiB1
bnRhbmdsZSBzZW5kaW5nIGRhdGEgYW5kIGNvbnRyb2wgbWVzc2FnZXMuDQoNCkNvbnRyb2wgbWVz
c2FnZXMgd2lsbCBoYXZlIHNrYiBzZXQgdG8gTlVMTCBhbmQgdGhhdCBpcyB3aGF0IEhhaXlhbmcg
aXMgZG9pbmcNCnRvIGRpc3Rpbmd1aXNoIGNvbnRyb2wgcGFja2V0cy4NCg0KSy4gWQ0KPiANCj4g
LS0NCj4gICBWaXRhbHkNCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCj4gZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGRldmVsQGxpbnV4ZHJpdmVycHJvamVj
dC5vcmcNCj4gaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91
cmw9aHR0cCUzYSUyZiUyZmRyaXZlcmRlDQo+IHYubGludXhkcml2ZXJwcm9qZWN0Lm9yZyUyZm1h
aWxtYW4lMmZsaXN0aW5mbyUyZmRyaXZlcmRldi0NCj4gZGV2ZWwlMGEmZGF0YT0wMSU3YzAxJTdj
a3lzJTQwbWljcm9zb2Z0LmNvbSU3Yzc0MTAyNmJhOGNiYjQ3YTk5Mw0KPiAyYzA4ZDMwMjMyNTdi
NyU3YzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdjMSZzZGF0YT1WZFFpTQ0KPiBO
T3pDdGxSY3NONSUyYiUyZmFmJTJiR3JQTkRIUG1ydm8yVHVVczFUJTJmcmxRJTNkDQo=
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web