From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 01/21] drm: kerneldoc for drm_fops.c Date: Fri, 8 Jan 2016 21:36:33 +0100 Message-ID: <1452285413-28459-2-git-send-email-daniel.vetter@ffwll.ch> References: <1452285413-28459-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6BE1B6E004 for ; Fri, 8 Jan 2016 12:37:00 -0800 (PST) Received: by mail-wm0-f68.google.com with SMTP id l65so17501865wmf.3 for ; Fri, 08 Jan 2016 12:37:00 -0800 (PST) In-Reply-To: <1452285413-28459-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SnVzdCBwcmVwIHdvcmsgYmVmb3JlIEkgdGhyb3cgbW9yZSBkcm1fZXZlbnQgcmVmYWN0b3Jpbmdz IG9uIHRvcC4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50 ZWwuY29tPgotLS0KIERvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCB8ICA0OCArLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jICAgICB8IDEyOSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogaW5jbHVkZS9kcm0vZHJtUC5oICAgICAg ICAgICAgIHwgIDE3ICsrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwg NzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50 bXBsIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCmluZGV4IDAzNTM1YTc3MTJlYi4u YzQzNDUwMWM2ODY4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwK KysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsCkBAIC0yODg2LDUyICsyODg2LDgg QEAgdm9pZCAoKnBvc3RjbG9zZSkgKHN0cnVjdCBkcm1fZGV2aWNlICosIHN0cnVjdCBkcm1fZmls ZSAqKTs8L3N5bm9wc2lzPgogICAgIDwvc2VjdDI+CiAgICAgPHNlY3QyPgogICAgICAgPHRpdGxl PkZpbGUgT3BlcmF0aW9uczwvdGl0bGU+Ci0gICAgICA8c3lub3BzaXM+Y29uc3Qgc3RydWN0IGZp bGVfb3BlcmF0aW9ucyAqZm9wczwvc3lub3BzaXM+Ci0gICAgICA8YWJzdHJhY3Q+RmlsZSBvcGVy YXRpb25zIGZvciB0aGUgRFJNIGRldmljZSBub2RlLjwvYWJzdHJhY3Q+Ci0gICAgICA8cGFyYT4K LSAgICAgICAgRHJpdmVycyBtdXN0IGRlZmluZSB0aGUgZmlsZSBvcGVyYXRpb25zIHN0cnVjdHVy ZSB0aGF0IGZvcm1zIHRoZSBEUk0KLQl1c2Vyc3BhY2UgQVBJIGVudHJ5IHBvaW50LCBldmVuIHRo b3VnaCBtb3N0IG9mIHRob3NlIG9wZXJhdGlvbnMgYXJlCi0JaW1wbGVtZW50ZWQgaW4gdGhlIERS TSBjb3JlLiBUaGUgPG1ldGhvZG5hbWU+b3BlbjwvbWV0aG9kbmFtZT4sCi0JPG1ldGhvZG5hbWU+ cmVsZWFzZTwvbWV0aG9kbmFtZT4gYW5kIDxtZXRob2RuYW1lPmlvY3RsPC9tZXRob2RuYW1lPgot CW9wZXJhdGlvbnMgYXJlIGhhbmRsZWQgYnkKLQk8cHJvZ3JhbWxpc3Rpbmc+Ci0JLm93bmVyID0g VEhJU19NT0RVTEUsCi0JLm9wZW4gPSBkcm1fb3BlbiwKLQkucmVsZWFzZSA9IGRybV9yZWxlYXNl LAotCS51bmxvY2tlZF9pb2N0bCA9IGRybV9pb2N0bCwKLSAgI2lmZGVmIENPTkZJR19DT01QQVQK LQkuY29tcGF0X2lvY3RsID0gZHJtX2NvbXBhdF9pb2N0bCwKLSAgI2VuZGlmCi0gICAgICAgIDwv cHJvZ3JhbWxpc3Rpbmc+Ci0gICAgICA8L3BhcmE+Ci0gICAgICA8cGFyYT4KLSAgICAgICAgRHJp dmVycyB0aGF0IGltcGxlbWVudCBwcml2YXRlIGlvY3RscyB0aGF0IHJlcXVpcmVzIDMyLzY0Yml0 Ci0JY29tcGF0aWJpbGl0eSBzdXBwb3J0IG11c3QgcHJvdmlkZSB0aGVpciBvd24KLQk8bWV0aG9k bmFtZT5jb21wYXRfaW9jdGw8L21ldGhvZG5hbWU+IGhhbmRsZXIgdGhhdCBwcm9jZXNzZXMgcHJp dmF0ZQotCWlvY3RscyBhbmQgY2FsbHMgPGZ1bmN0aW9uPmRybV9jb21wYXRfaW9jdGw8L2Z1bmN0 aW9uPiBmb3IgY29yZSBpb2N0bHMuCi0gICAgICA8L3BhcmE+Ci0gICAgICA8cGFyYT4KLSAgICAg ICAgVGhlIDxtZXRob2RuYW1lPnJlYWQ8L21ldGhvZG5hbWU+IGFuZCA8bWV0aG9kbmFtZT5wb2xs PC9tZXRob2RuYW1lPgotCW9wZXJhdGlvbnMgcHJvdmlkZSBzdXBwb3J0IGZvciByZWFkaW5nIERS TSBldmVudHMgYW5kIHBvbGxpbmcgdGhlbS4gVGhleQotCWFyZSBpbXBsZW1lbnRlZCBieQotCTxw cm9ncmFtbGlzdGluZz4KLQkucG9sbCA9IGRybV9wb2xsLAotCS5yZWFkID0gZHJtX3JlYWQsCi0J Lmxsc2VlayA9IG5vX2xsc2VlaywKLQk8L3Byb2dyYW1saXN0aW5nPgotICAgICAgPC9wYXJhPgot ICAgICAgPHBhcmE+Ci0gICAgICAgIFRoZSBtZW1vcnkgbWFwcGluZyBpbXBsZW1lbnRhdGlvbiB2 YXJpZXMgZGVwZW5kaW5nIG9uIGhvdyB0aGUgZHJpdmVyCi0JbWFuYWdlcyBtZW1vcnkuIFByZS1H RU0gZHJpdmVycyB3aWxsIHVzZSA8ZnVuY3Rpb24+ZHJtX21tYXA8L2Z1bmN0aW9uPiwKLQl3aGls ZSBHRU0tYXdhcmUgZHJpdmVycyB3aWxsIHVzZSA8ZnVuY3Rpb24+ZHJtX2dlbV9tbWFwPC9mdW5j dGlvbj4uIFNlZQotCTx4cmVmIGxpbmtlbmQ9ImRybS1nZW0iLz4uCi0JPHByb2dyYW1saXN0aW5n PgotCS5tbWFwID0gZHJtX2dlbV9tbWFwLAotCTwvcHJvZ3JhbWxpc3Rpbmc+Ci0gICAgICA8L3Bh cmE+Ci0gICAgICA8cGFyYT4KLSAgICAgICAgTm8gb3RoZXIgZmlsZSBvcGVyYXRpb24gaXMgc3Vw cG9ydGVkIGJ5IHRoZSBEUk0gQVBJLgotICAgICAgPC9wYXJhPgorIVBkcml2ZXJzL2dwdS9kcm0v ZHJtX2ZvcHMuYyBmaWxlIG9wZXJhdGlvbnMKKyFFZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMK ICAgICA8L3NlY3QyPgogICAgIDxzZWN0Mj4KICAgICAgIDx0aXRsZT5JT0NUTHM8L3RpdGxlPgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZvcHMuYwppbmRleCAzNTllYzEzY2RmOWQuLjczMDc1YTFmYTM4MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3Bz LmMKQEAgLTEsNCArMSw0IEBACi0vKioKKy8qCiAgKiBcZmlsZSBkcm1fZm9wcy5jCiAgKiBGaWxl IG9wZXJhdGlvbnMgZm9yIERSTQogICoKQEAgLTQ0LDYgKzQ0LDQ2IEBACiAvKiBmcm9tIEJLTCBw dXNoZG93biAqLwogREVGSU5FX01VVEVYKGRybV9nbG9iYWxfbXV0ZXgpOwogCisvKioKKyAqIERP QzogZmlsZSBvcGVyYXRpb25zCisgKgorICogRHJpdmVycyBtdXN0IGRlZmluZSB0aGUgZmlsZSBv cGVyYXRpb25zIHN0cnVjdHVyZSB0aGF0IGZvcm1zIHRoZSBEUk0KKyAqIHVzZXJzcGFjZSBBUEkg ZW50cnkgcG9pbnQsIGV2ZW4gdGhvdWdoIG1vc3Qgb2YgdGhvc2Ugb3BlcmF0aW9ucyBhcmUKKyAq IGltcGxlbWVudGVkIGluIHRoZSBEUk0gY29yZS4gVGhlIG1hbmRhdG9yeSBmdW5jdGlvbnMgYXJl IGRybV9vcGVuKCksCisgKiBkcm1fcmVhZCgpLCBkcm1faW9jdGwoKSBhbmQgZHJtX2NvbXBhdF9p b2N0bCBpZiBDT05GSUdfQ09NUEFUIGlzIGVuYWJsZWQuCisgKiBEcml2ZXJzIHdoaWNoIGltcGxl bWVudCBwcml2YXRlIGlvY3RscyB0aGF0IHJlcXVpcmUgMzIvNjQgYml0IGNvbXBhdGliaWxpdHkK KyAqIHN1cHBvcnQgbXVzdCBwcm92aWRlZCB0aGVpciBvbncgLmNvbXBhdF9pb2N0bCgpIGhhbmRs ZXIgdGhhdCBwcm9jZXNzZXMKKyAqIHByaXZhdGUgaW9jdGxzIGFuZCBjYWxscyBkcm1fY29tcGF0 X2lvY3RsKCkgZm9yIGNvcmUgaW9jdGxzLgorICoKKyAqIEluIGFkZGl0aW9uIGRybV9yZWFkKCkg YW5kIGRybV9wb2xsKCkgcHJvdmlkZSBzdXBwb3J0IGZvciBEUk0gZXZlbnRzLiBEUk0KKyAqIGV2 ZW50cyBhcmUgYSBnZW5lcmljIGFuZCBleHRlbnNpYmxlIG1lYW5zIHRvIHNlbmQgYXN5bmNocm9u b3VzIGV2ZW50cyB0bworICogdXNlcnNwYWNlIHRocm91Z2ggdGhlIGZpbGUgZGVzY3JpcHRvci4g VGhleSBhcmUgdXNlZCB0byBzZW5kIHZibGFuayBldmVudCBhbmQKKyAqIHBhZ2UgZmxpcCBjb21w bGV0aW9ucyBieSB0aGUgS01TIEFQSS4gQnV0IGRyaXZlcnMgY2FuIGFsc28gdXNlIGl0IGZvciB0 aGVpcgorICogb3duIG5lZWRzLCBlLmcuIHRvIHNpZ25hbCBjb21wbGV0aW9uIG9mIHJlbmRlcmlu Zy4KKyAqCisgKiBUaGUgbWVtb3J5IG1hcHBpbmcgaW1wbGVtZW50YXRpb24gd2lsbCB2YXJ5IGRl cGVuZGluZyBvbiBob3cgdGhlIGRyaXZlcgorICogbWFuYWdlcyBtZW1vcnkuIExlZ2FjeSBkcml2 ZXJzIHdpbGwgdXNlIHRoZSBkZXByZWNhdGVkIGRybV9sZWdhY3lfbW1hcCgpCisgKiBmdW5jdGlv biwgbW9kZXJuIGRyaXZlcnMgc2hvdWxkIHVzZSBvbmUgb2YgdGhlIHByb3ZpZGVkIG1lbW9yeS1t YW5hZ2VyCisgKiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMuIEZvciBHRU0tYmFzZWQgZHJpdmVy cyB0aGlzIGlzIGRybV9nZW1fbW1hcCgpLgorICoKKyAqIE5vIG90aGVyIGZpbGUgb3BlcmF0aW9u cyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBEUk0gdXNlcnNwYWNlIEFQSS4gT3ZlcmFsbCB0aGUKKyAq IGZvbGxvd2luZyBpcyBhbiBleGFtcGxlICNmaWxlX29wZXJhdGlvbnMgc3RydWN0dXJlOgorICoK KyAqICAgICBzdGF0aWMgY29uc3QgZXhhbXBsZV9kcm1fZm9wcyA9IHsKKyAqICAgICAgICAgICAg IC5vd25lciA9IFRISVNfTU9EVUxFLAorICogICAgICAgICAgICAgLm9wZW4gPSBkcm1fb3BlbiwK KyAqICAgICAgICAgICAgIC5yZWxlYXNlID0gZHJtX3JlbGVhc2UsCisgKiAgICAgICAgICAgICAu dW5sb2NrZWRfaW9jdGwgPSBkcm1faW9jdGwsCisgKiAgICAgI2lmZGVmIENPTkZJR19DT01QQVQK KyAqICAgICAgICAgICAgIC5jb21wYXRfaW9jdGwgPSBkcm1fY29tcGF0X2lvY3RsLAorICogICAg ICNlbmRpZgorICogICAgICAgICAgICAgLnBvbGwgPSBkcm1fcG9sbCwKKyAqICAgICAgICAgICAg IC5yZWFkID0gZHJtX3JlYWQsCisgKiAgICAgICAgICAgICAubGxzZWVrID0gbm9fbGxzZWVrLAor ICogICAgICAgICAgICAgLm1tYXAgPSBkcm1fZ2VtX21tYXAsCisgKiAgICAgfTsKKyAqLworCiBz dGF0aWMgaW50IGRybV9vcGVuX2hlbHBlcihzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IGRybV9t aW5vciAqbWlub3IpOwogCiBzdGF0aWMgaW50IGRybV9zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAq IGRldikKQEAgLTY3LDE1ICsxMDcsMTcgQEAgc3RhdGljIGludCBkcm1fc2V0dXAoc3RydWN0IGRy bV9kZXZpY2UgKiBkZXYpCiB9CiAKIC8qKgotICogT3BlbiBmaWxlLgorICogZHJtX29wZW4gLSBv cGVuIG1ldGhvZCBmb3IgRFJNIGZpbGUKKyAqIEBpbm9kZTogZGV2aWNlIGlub2RlCisgKiBAZmls cDogZmlsZSBwb2ludGVyLgogICoKLSAqIFxwYXJhbSBpbm9kZSBkZXZpY2UgaW5vZGUKLSAqIFxw YXJhbSBmaWxwIGZpbGUgcG9pbnRlci4KLSAqIFxyZXR1cm4gemVybyBvbiBzdWNjZXNzIG9yIGEg bmVnYXRpdmUgbnVtYmVyIG9uIGZhaWx1cmUuCisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgdXNl ZCBieSBkcml2ZXJzIGFzIHRoZWlyIC5vcGVuKCkgI2ZpbGVfb3BlcmF0aW9ucworICogbWV0aG9k LiBJdCBsb29rcyB1cCB0aGUgY29ycmVjdCBEUk0gZGV2aWNlIGFuZCBpbnN0YW50aWF0ZXMgYWxs IHRoZSBwZXItZmlsZQorICogcmVzb3VyY2VzIGZvciBpdC4KKyAqCisgKiBSRVRVUk5TOgogICoK LSAqIFNlYXJjaGVzIHRoZSBEUk0gZGV2aWNlIHdpdGggdGhlIHNhbWUgbWlub3IgbnVtYmVyLCBj YWxscyBvcGVuX2hlbHBlcigpLCBhbmQKLSAqIGluY3JlbWVudHMgdGhlIGRldmljZSBvcGVuIGNv dW50LiBJZiB0aGUgb3BlbiBjb3VudCB3YXMgcHJldmlvdXMgYXQgemVybywKLSAqIGkuZS4sIGl0 J3MgdGhlIGZpcnN0IHRoYXQgdGhlIGRldmljZSBpcyBvcGVuLCB0aGVuIGNhbGxzIHNldHVwKCku CisgKiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgZXJybm8gdmFsdWUgb24gZmFsdXJlLgogICov CiBpbnQgZHJtX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7 CkBAIC0xMTIsNyArMTU0LDcgQEAgZXJyX3VuZG86CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9vcGVu KTsKIAotLyoqCisvKgogICogQ2hlY2sgd2hldGhlciBEUkkgd2lsbCBydW4gb24gdGhpcyBDUFUu CiAgKgogICogXHJldHVybiBub24temVybyBpZiB0aGUgRFJJIHdpbGwgcnVuIG9uIHRoaXMgQ1BV LCBvciB6ZXJvIG90aGVyd2lzZS4KQEAgLTEyNSw3ICsxNjcsNyBAQCBzdGF0aWMgaW50IGRybV9j cHVfdmFsaWQodm9pZCkKIAlyZXR1cm4gMTsKIH0KIAotLyoqCisvKgogICogZHJtX25ld19zZXRf bWFzdGVyIC0gQWxsb2NhdGUgYSBuZXcgbWFzdGVyIG9iamVjdCBhbmQgYmVjb21lIG1hc3RlciBm b3IgdGhlCiAgKiBhc3NvY2lhdGVkIG1hc3RlciByZWFsbS4KICAqCkBAIC0xNzksNyArMjIxLDcg QEAgb3V0X2VycjoKIAlyZXR1cm4gcmV0OwogfQogCi0vKioKKy8qCiAgKiBDYWxsZWQgd2hlbmV2 ZXIgYSBwcm9jZXNzIG9wZW5zIC9kZXYvZHJtLgogICoKICAqIFxwYXJhbSBmaWxwIGZpbGUgcG9p bnRlci4KQEAgLTMzMyw3ICszNzUsNyBAQCBzdGF0aWMgdm9pZCBkcm1fZXZlbnRzX3JlbGVhc2Uo c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2 LT5ldmVudF9sb2NrLCBmbGFncyk7CiB9CiAKLS8qKgorLyoKICAqIGRybV9sZWdhY3lfZGV2X3Jl aW5pdAogICoKICAqIFJlaW5pdGlhbGl6ZXMgYSBsZWdhY3kvdW1zIGRybSBkZXZpY2UgaW4gaXQn cyBsYXN0Y2xvc2UgZnVuY3Rpb24uCkBAIC0zNjIsNyArNDA0LDcgQEAgc3RhdGljIHZvaWQgZHJt X2xlZ2FjeV9kZXZfcmVpbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJRFJNX0RFQlVHKCJs YXN0Y2xvc2UgY29tcGxldGVkXG4iKTsKIH0KIAotLyoqCisvKgogICogVGFrZSBkb3duIHRoZSBE Uk0gZGV2aWNlLgogICoKICAqIFxwYXJhbSBkZXYgRFJNIGRldmljZSBzdHJ1Y3R1cmUuCkBAIC0z ODQsMTYgKzQyNiwxNyBAQCB2b2lkIGRybV9sYXN0Y2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKiBk ZXYpCiB9CiAKIC8qKgotICogUmVsZWFzZSBmaWxlLgorICogZHJtX3JlbGVhc2UgLSByZWxlYXNl IG1ldGhvZCBmb3IgRFJNIGZpbGUKKyAqIEBpbm9kZTogZGV2aWNlIGlub2RlCisgKiBAZmlscDog ZmlsZSBwb2ludGVyLgogICoKLSAqIFxwYXJhbSBpbm9kZSBkZXZpY2UgaW5vZGUKLSAqIFxwYXJh bSBmaWxlX3ByaXYgRFJNIGZpbGUgcHJpdmF0ZS4KLSAqIFxyZXR1cm4gemVybyBvbiBzdWNjZXNz IG9yIGEgbmVnYXRpdmUgbnVtYmVyIG9uIGZhaWx1cmUuCisgKiBUaGlzIGZ1bmN0aW9uIG11c3Qg YmUgdXNlZCBieSBkcml2ZXJzIGFzIHRoZWlyIC5yZWxlYXNlKCkgI2ZpbGVfb3BlcmF0aW9ucwor ICogbWV0aG9kLiBJdCBmcmVlcyBhbnkgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3Bl biBmaWxlLCBhbmQgaWYgdGhpcyBpcworICogdGhlIGxhc3Qgb3BlbiBmaWxlIGZvciB0aGUgRFJN IGRldmljZSBhbHNvIHByb2NlZWRzIHRvIGNhbGwgZHJtX2xhc3RjbG9zZSgpLgogICoKLSAqIElm IHRoZSBoYXJkd2FyZSBsb2NrIGlzIGhlbGQgdGhlbiBmcmVlIGl0LCBhbmQgdGFrZSBpdCBhZ2Fp biBmb3IgdGhlIGtlcm5lbAotICogY29udGV4dCBzaW5jZSBpdCdzIG5lY2Vzc2FyeSB0byByZWNs YWltIGJ1ZmZlcnMuIFVubGluayB0aGUgZmlsZSBwcml2YXRlCi0gKiBkYXRhIGZyb20gaXRzIGxp c3QgYW5kIGZyZWUgaXQuIERlY3JlYXNlcyB0aGUgb3BlbiBjb3VudCBhbmQgaWYgaXQgcmVhY2hl cwotICogemVybyBjYWxscyBkcm1fbGFzdGNsb3NlKCkuCisgKiBSRVRVUk5TOgorICoKKyAqIEFs d2F5cyBzdWNjZWVkcyBhbmQgcmV0dXJucyAwLgogICovCiBpbnQgZHJtX3JlbGVhc2Uoc3RydWN0 IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CkBAIC00NDcsNyArNDkwLDcgQEAg aW50IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQog CWlmIChmaWxlX3ByaXYtPmlzX21hc3RlcikgewogCQlzdHJ1Y3QgZHJtX21hc3RlciAqbWFzdGVy ID0gZmlsZV9wcml2LT5tYXN0ZXI7CiAKLQkJLyoqCisJCS8qCiAJCSAqIFNpbmNlIHRoZSBtYXN0 ZXIgaXMgZGlzYXBwZWFyaW5nLCBzbyBpcyB0aGUKIAkJICogcG9zc2liaWxpdHkgdG8gbG9jay4K IAkJICovCkBAIC01MDQsNiArNTQ3LDMyIEBAIGludCBkcm1fcmVsZWFzZShzdHJ1Y3QgaW5vZGUg Kmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3JlbGVhc2Up OwogCisvKioKKyAqIGRybV9yZWFkIC0gcmVhZCBtZXRob2QgZm9yIERSTSBmaWxlCisgKiBAZmls cDogZmlsZSBwb2ludGVyCisgKiBAYnVmZmVyOiB1c2Vyc3BhY2UgZGVzdGluYXRpb24gcG9pbnRl ciBmb3IgdGhlIHJlYWQKKyAqIEBjb3VudDogY291bnQgaW4gYnl0ZXMgdG8gcmVhZAorICogQG9m ZnNldDogb2Zmc2V0IHRvIHJlYWQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgdXNlZCBi eSBkcml2ZXJzIGFzIHRoZWlyIC5yZWFkKCkgI2ZpbGVfb3BlcmF0aW9ucworICogbWV0aG9kIGlm ZiB0aGV5IHVzZSBEUk0gZXZlbnRzIGZvciBhc3luY2hyb25vdXMgc2lnbmFsbGluZyB0byB1c2Vy c3BhY2UuCisgKiBTaW5jZSBldmVudHMgYXJlIHVzZWQgYnkgdGhlIEtNUyBBUEkgZm9yIHZibGFu ayBhbmQgcGFnZSBmbGlwIGNvbXBsZXRpb24gdGhpcworICogbWVhbnMgYWxsIG1vZGVybiBkaXNw bGF5IGRyaXZlcnMgbXVzdCB1c2UgaXQuCisgKgorICogQG9mZnNldCBpcyBpZ25vcmUsIERSTSBl dmVudHMgYXJlIHJlYWQgbGlrZSBhIHBpcGUuIFRoZXJlZm9yZSBkcml2ZXJzIGFsc28KKyAqIG11 c3Qgc2V0IHRoZSAubGxzZWVrKCkgI2ZpbGVfb3BlcmF0aW9uIHRvIG5vX2xsc2VlaygpLiBQb2xs aW5nIHN1cHBvcnQgaXMKKyAqIHByb3ZpZGVkIGJ5IGRybV9wb2xsKCkuCisgKgorICogVGhpcyBm dW5jdGlvbiB3aWxsIG9ubHkgZXZlciByZWFkIGEgZnVsbCBldmVudC4gVGhlcmVmb3JlIHVzZXJz cGFjZSBtdXN0CisgKiBzdXBwbHkgYSBiaWcgZW5vdWdoIGJ1ZmZlciB0byBmaXQgYW55IGV2ZW50 IHRvIGVuc3VyZSBmb3J3YXJkIHByb2dyZXNzLiBTaW5jZQorICogdGhlIG1heGltdW0gZXZlbnQg c3BhY2UgaXMgY3VycmVudGx5IDRLIGl0J3MgcmVjb21tZW5kZWQgdG8ganVzdCB1c2UgdGhhdCBm b3IKKyAqIHNhZmV0eS4KKyAqCisgKiBSRVRVUk5TOgorICoKKyAqIE51bWJlciBvZiBieXRlcyBy ZWFkIChhbHdheXMgYWxpZ25lZCB0byBmdWxsIGV2ZW50cywgYW5kIGNhbiBiZSAwKSBvciBhCisg KiBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KIHNzaXplX3QgZHJtX3JlYWQo c3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICpidWZmZXIsCiAJCSBzaXplX3QgY291bnQs IGxvZmZfdCAqb2Zmc2V0KQogewpAQCAtNTc0LDYgKzY0MywyMiBAQCBwdXRfYmFja19ldmVudDoK IH0KIEVYUE9SVF9TWU1CT0woZHJtX3JlYWQpOwogCisvKioKKyAqIGRybV9wb2xsIC0gcG9sbCBt ZXRob2QgZm9yIERSTSBmaWxlCisgKiBAZmlscDogZmlsZSBwb2ludGVyCisgKiBAd2FpdDogcG9s bCB3YWl0ZXIgdGFibGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgdXNlZCBieSBkcml2 ZXJzIGFzIHRoZWlyIC5yZWFkKCkgI2ZpbGVfb3BlcmF0aW9ucworICogbWV0aG9kIGlmZiB0aGV5 IHVzZSBEUk0gZXZlbnRzIGZvciBhc3luY2hyb25vdXMgc2lnbmFsbGluZyB0byB1c2Vyc3BhY2Uu CisgKiBTaW5jZSBldmVudHMgYXJlIHVzZWQgYnkgdGhlIEtNUyBBUEkgZm9yIHZibGFuayBhbmQg cGFnZSBmbGlwIGNvbXBsZXRpb24gdGhpcworICogbWVhbnMgYWxsIG1vZGVybiBkaXNwbGF5IGRy aXZlcnMgbXVzdCB1c2UgaXQuCisgKgorICogU2VlIGFsc28gZHJtX3JlYWQoKS4KKyAqCisgKiBS RVRVUk5TOgorICoKKyAqIE1hc2sgb2YgUE9MTCBmbGFncyBpbmRpY2F0aW5nIHRoZSBjdXJyZW50 IHN0YXR1cyBvZiB0aGUgZmlsZS4KKyAqLwogdW5zaWduZWQgaW50IGRybV9wb2xsKHN0cnVjdCBm aWxlICpmaWxwLCBzdHJ1Y3QgcG9sbF90YWJsZV9zdHJ1Y3QgKndhaXQpCiB7CiAJc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7CmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggYzJkMjUzZTliNmY3Li5m YzliOWFkNWIwODkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAorKysgYi9pbmNsdWRl L2RybS9kcm1QLmgKQEAgLTkxOSwxNSArOTE5LDE0IEBAIGV4dGVybiBsb25nIGRybV9jb21wYXRf aW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsCiAJCQkgICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2ln bmVkIGxvbmcgYXJnKTsKIGV4dGVybiBib29sIGRybV9pb2N0bF9mbGFncyh1bnNpZ25lZCBpbnQg bnIsIHVuc2lnbmVkIGludCAqZmxhZ3MpOwogCi0JCQkJLyogRGV2aWNlIHN1cHBvcnQgKGRybV9m b3BzLmgpICovCi1leHRlcm4gaW50IGRybV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVj dCBmaWxlICpmaWxwKTsKLWV4dGVybiBzc2l6ZV90IGRybV9yZWFkKHN0cnVjdCBmaWxlICpmaWxw LCBjaGFyIF9fdXNlciAqYnVmZmVyLAotCQkJc2l6ZV90IGNvdW50LCBsb2ZmX3QgKm9mZnNldCk7 Ci1leHRlcm4gaW50IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl ICpmaWxwKTsKLWV4dGVybiBpbnQgZHJtX25ld19zZXRfbWFzdGVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZnByaXYpOwotCi0JCQkJLyogTWFwcGluZyBzdXBwb3J0 IChkcm1fdm0uaCkgKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgZHJtX3BvbGwoc3RydWN0IGZpbGUg KmZpbHAsIHN0cnVjdCBwb2xsX3RhYmxlX3N0cnVjdCAqd2FpdCk7CisvKiBGaWxlIE9wZXJhdGlv bnMgKGRybV9mb3BzLmMpICovCitpbnQgZHJtX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3Ry dWN0IGZpbGUgKmZpbHApOworc3NpemVfdCBkcm1fcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hh ciBfX3VzZXIgKmJ1ZmZlciwKKwkJIHNpemVfdCBjb3VudCwgbG9mZl90ICpvZmZzZXQpOworaW50 IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKTsKK2lu dCBkcm1fbmV3X3NldF9tYXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9m aWxlICpmcHJpdik7CisKK3Vuc2lnbmVkIGludCBkcm1fcG9sbChzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IHBvbGxfdGFibGVfc3RydWN0ICp3YWl0KTsKIAogLyogTWlzYy4gSU9DVEwgc3VwcG9y dCAoZHJtX2lvY3RsLmMpICovCiBpbnQgZHJtX25vb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKLS0gCjIuNi40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=