Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1288845 > unrolled thread
| Started by | Haiyang Zhang <haiyangz@microsoft.com> |
|---|---|
| First post | 2015-12-10 20:00 +0100 |
| Last post | 2015-12-11 17:10 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[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
| From | Haiyang Zhang <haiyangz@microsoft.com> |
|---|---|
| Date | 2015-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]
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2015-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]
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2015-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]
| From | Haiyang Zhang <haiyangz@microsoft.com> |
|---|---|
| Date | 2015-12-11 17:00 +0100 |
| Subject | RE: [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]
| From | KY Srinivasan <kys@microsoft.com> |
|---|---|
| Date | 2015-12-11 17:10 +0100 |
| Subject | RE: [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