Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/2] ras: fix an off-by-one error in __find_elem() From: "Luck, Tony" Message-Id: <20190417211549.GA17200@agluck-desk> Date: Wed, 17 Apr 2019 14:15:49 -0700 To: Cong Wang Cc: Borislav Petkov , LKML , linux-edac@vger.kernel.org, Thomas Gleixner List-ID: T24gVHVlLCBBcHIgMTYsIDIwMTkgYXQgMDc6Mzc6NDFQTSAtMDcwMCwgQ29uZyBXYW5nIHdyb3Rl Ogo+IE9uIFR1ZSwgQXByIDE2LCAyMDE5IGF0IDc6MzEgUE0gQ29uZyBXYW5nIDx4aXlvdS53YW5n Y29uZ0BnbWFpbC5jb20+IHdyb3RlOgo+ID4gWWVzIGl0IGlzLCBJIGhhdmUgYSBzdGFja3RyYWNl IGluIHByb2R1Y3Rpb24gd2hpY2ggY2xlYXJseSBzaG93cwo+ID4gZGVsX2VsZW0uaXNyYS4xKzB4 MzQvMHg0MCwgdW5saWtlIHRoZSBvbmUgSSB0cmlnZ2VyZWQgdmlhIGZha2UKPiA+IFBGTidzLiBJ IGNhbiBzaG93IHlvdSBpZiB5b3Ugd2FudCwgaXQgaXMgb24gNC4xNCwgc28gdmVyeSB1bmxpa2Vs eQo+ID4gaXQgaXMgaW50ZXJlc3RpbmcgdG8gYW55b25lIGhlcmUuCj4gCj4gQ29ycmVjdCBteXNl bGY6Cj4gCj4gVGhlIG9uZSB0cmlnZ2VyZWQgdmlhIGZha2UgUEZOJ3MgYWxzbyBzaG93cwo+IGRl bF9lbGVtLmNvbnN0cHJvcC4xKzB4MzkvMHg0MC4KPiAKPiBTb3JyeSBmb3IgdGhlIG1pc3Rha2Us IEkga2luZGEgcmVhZCBpbnRvIGFub3RoZXIgY3Jhc2guLi4KCk9rLiBOb3cgSSBmb2xsb3cgd2hh dCB5b3UgYXJlIHNheWluZy4gSSdsbCB0cnkgdG8gcmVwaHJhc2UKaGVyZS4KCjEpIEluaXRpYWwg c2V0dXAgaXMgdGhhdCB3ZSBmaWxsZWQgdGhlIGFycmF5LiBTZXQgdGhlIHRocmVzaG9sZAp0byBh IGxvdyB2YWx1ZSwgYW5kIHRoZW4gcmVwZWF0ZWRseSBhZGRlZCBhIG5ldyBwZm4gKHdpdGggYQp2 YWx1ZSBoaWdoZXIgdGhhbiBhbnkgaW4gdGhlIGFycmF5KS4KCjIpIEZpcnN0IHRpbWU6CldlIGZp bmQgdGhlIGFycmF5IGlzIGZ1bGwsIHNvIGRlbGV0ZSBvbmUgaXRlbS4gQWRkIHRoZSBuZXcgcGZu CnRvIHRoZSBlbmQgKGluIHNsb3QgTUFYX0VMRU0tMSkKCjMpIE5leHQgdGltZS4gQXJyYXkgaXMg ZnVsbC4gRGVsZXRlIG9uZSBpdGVtIChhc3N1bWUgbm90IHRoZSBvbmUKZm9yIG91ciB0YXJnZXQg cGZuKS4gVGhpcyBtb3ZlZCBvdXIgdGFyZ2V0IHRvIHNsb3QgTUFYX0VMRU0tMi4KCjQpIE5leHQg dGltZS4gQXJyYXkgaXNuJ3QgZnVsbC4gV2UgZ2V0IGEgaGl0IG9uIG91ciBwZm4uIEJ1bXAKdGhl IGNvdW50LiBGaW5kIHRoYXQgaXQgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCwgc28gYXNrIHRvCm9m ZmxpbmUgaXQuIFdlIGRlbGV0ZSB0aGlzIGZyb20gdGhlIGFycmF5LiBJdCBpcyBhIHRhaWwKZGVs ZXRpb24gc28gd2UganVzdCBkZWNyZW1lbnQgY2EtPm4uCgo1KSBGaW5hbCB0aW1lLiBBcnJheSBp c24ndCBmdWxsLiBXaGVuIHdlIGxvb2sgZm9yIG91ciBwZm4gaW4KdGhlIGFycmF5IGl0IGlzbid0 IGluIHRoZSBhcnJheVswLGNhLT5uKSByYW5nZS4gU28gd2Ugb3VnaHQKdG8gcmV0dXJuIEVOT0tF WS4gQnV0IHdlIGRvbid0LiBXaGVuIHdlIGZhbGwgb3V0IG9mIHRoZQpzZWFyY2ggbG9vcDoKCjEz NiAgICAgICAgIHdoaWxlIChtaW4gPCBtYXgpIHsKMTM3ICAgICAgICAgICAgICAgICBpbnQgdG1w ID0gKG1heCArIG1pbikgPj4gMTsKMTM4CjEzOSAgICAgICAgICAgICAgICAgdGhpc19wZm4gPSBQ Rk4oY2EtPmFycmF5W3RtcF0pOwoxNDAKMTQxICAgICAgICAgICAgICAgICBpZiAodGhpc19wZm4g PCBwZm4pCjE0MiAgICAgICAgICAgICAgICAgICAgICAgICBtaW4gPSB0bXAgKyAxOwoxNDMgICAg ICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXNfcGZuID4gcGZuKQoxNDQgICAgICAgICAgICAgICAg ICAgICAgICAgbWF4ID0gdG1wOwoxNDUgICAgICAgICAgICAgICAgIGVsc2UgewoxNDYgICAgICAg ICAgICAgICAgICAgICAgICAgbWluID0gdG1wOwoxNDcgICAgICAgICAgICAgICAgICAgICAgICAg YnJlYWs7CjE0OCAgICAgICAgICAgICAgICAgfQoxNDkgICAgICAgICB9CgpXZSBleGl0IGJlY2F1 c2UgIm1pbiIgaXMgbm90IGxlc3MgdGhhbiAibWF4Ii4gV2UgYXNzaWduCiIqdG8iIHdpdGggdGhl IGluZGV4IG9mIHRoZSBhdmFpbGFibGUgc2xvdC4KCjE1MSAgICAgICAgIGlmICh0bykKMTUyICAg ICAgICAgICAgICAgICAqdG8gPSBtaW47CgpUaGlzIGxpbmUgaXMganVzdCB3cm9uZy4gIm1pbiIg aXMgc3RpbGwgd2l0aGluIHRoZSBhbGxvY2F0ZWQKYm91bmRzIG9mIHRoZSBhcnJheSwgYnV0IHRo ZSB2YWx1ZSBpcyAiY2EtPm4iLCBpLmUuIHRoZSBmaXJzdAp1bnVzZWQgc2xvdC4gVGhlICJnYXJi YWdlIiB2YWx1ZSB3ZSBwaWNrIHVwIGZyb20gaGVyZSBpcyB3aGF0CndhcyBsYXN0IGFzc2lnbmVk IHRvIHRoZSBzbG90IHdoZW4gaXQgd2FzIHZhbGlkLiBCZWNhdXNlIHdlIGhhdmUKYmVlbiBhZGRp bmcgdGhlIHNhbWUgcGZuIG92ZXIgYW5kIG92ZXIsIHRoZSB2YWx1ZSB3ZSBwaWNrIHVwIGlzCnRo ZSBwZm4gdGhhdCB3ZSAiZGVsZXRlZCIgaW4gc3RlcCAiNCIgYWJvdmUuIEJ1dCByZW1lbWJlciB3 ZQpkZWxldGVkIGl0IGp1c3QgYnkgYWRqdXN0aW5nIGNhLT5uLCBub3QgYnkgb3ZlcndyaXRpbmcg dGhpcwplbnRyeS4KCjE1NCAgICAgICAgIHRoaXNfcGZuID0gUEZOKGNhLT5hcnJheVttaW5dKTsK CgpTbyBub3cgdGhpcyB0ZXN0IHN1Y2NlZWRzLCB3aGVuIGl0IHNob3VsZCBmYWlsLiBXZSByZXR1 cm4KYW4gaW5kZXggb2YgImNhLT5uIi4KMTU2ICAgICAgICAgaWYgKHRoaXNfcGZuID09IHBmbikK MTU3ICAgICAgICAgICAgICAgICByZXR1cm4gbWluOwoxNTgKMTU5ICAgICAgICAgcmV0dXJuIC1F Tk9LRVk7CgpUaGluZ3MgZ28gZG93bmhpbGwgZmFzdCBmcm9tIGhlcmUuIFdlIHVwZGF0ZSB0aGUg Y291bnQgZm9yCnRoaXMgZW50cnkuIEZpbmQgaXQgaXMgYWJvdmUgdGhlIHRocmVzaG9sZCwgc28g b2ZmbGluZSB0aGUKcGFnZSBhbmQgdHJ5IHRvIGRlbGV0ZS4KCjIyNiBzdGF0aWMgdm9pZCBkZWxf ZWxlbShzdHJ1Y3QgY2VfYXJyYXkgKmNhLCBpbnQgaWR4KQoyMjcgewoyMjggICAgICAgICAvKiBT YXZlIHVzIGEgZnVuY3Rpb24gY2FsbCB3aGVuIGRlbGV0aW5nIHRoZSBsYXN0IGVsZW1lbnQuICov CgppZHggaXMgZXF1YWwgdG8gY2EtPm4uIFNvIHRoaXMgaXMgImlmICgtMSkiIC4uLiBzbyB3ZSBk ZWNpZGUKd2UgbmVlZCB0byBtZW1tb3ZlIHNvbWUgZW50cmllcy4gIFRoZSBhcnJheSBpbmRpY2Vz ICJpZHgiIGFuZCAiaWR4KzEiCmFyZSBub3Qgb3V0IG9mIGJvdW5kcyBmb3IgdGhlIGFsbG9jYXRl ZCBzaXplLCBidXQgdGhleSBhcmVuJ3Qgd2hhdCB3ZQp3YW50LiBUaGUgcmVhbCBwcm9ibGVtIGlz IHRoZSBjb3VudCBwYXNzZWQgdG8gbWVtbW92ZS4KCjIyOSAgICAgICAgIGlmIChjYS0+biAtIChp ZHggKyAxKSkKMjMwICAgICAgICAgICAgICAgICBtZW1tb3ZlKCh2b2lkICopJmNhLT5hcnJheVtp ZHhdLAoyMzEgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikmY2EtPmFycmF5W2lkeCAr IDFdLAoyMzIgICAgICAgICAgICAgICAgICAgICAgICAgKGNhLT5uIC0gKGlkeCArIDEpKSAqIHNp emVvZih1NjQpKTsKMjMzCjIzNCAgICAgICAgIGNhLT5uLS07CjIzNSB9CgoKU28gSSdtIG5vdyBs aWtpbmcgdGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBieSBDb25nOgoKCgpSZXZpZXdlZC1ieTog VG9ueSBMdWNrIDx0b255Lmx1Y2tAaW50ZWwuY29tPgoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmFz L2NlYy5jIGIvZHJpdmVycy9yYXMvY2VjLmMKaW5kZXggMmQ5ZWMzNzhhOGJjLi5iN2NiMGI5YjEz NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcmFzL2NlYy5jCisrKyBiL2RyaXZlcnMvcmFzL2NlYy5j CkBAIC0yMDQsMTAgKzIwNCwxMiBAQCBzdGF0aWMgaW50IF9fZmluZF9lbGVtKHN0cnVjdCBjZV9h cnJheSAqY2EsIHU2NCBwZm4sIHVuc2lnbmVkIGludCAqdG8pCiAJaWYgKHRvKQogCQkqdG8gPSBt aW47CiAKLQl0aGlzX3BmbiA9IFBGTihjYS0+YXJyYXlbbWluXSk7CisJaWYgKG1pbiA8IGNhLT5u KSB7CisJCXRoaXNfcGZuID0gUEZOKGNhLT5hcnJheVttaW5dKTsKIAotCWlmICh0aGlzX3BmbiA9 PSBwZm4pCi0JCXJldHVybiBtaW47CisJCWlmICh0aGlzX3BmbiA9PSBwZm4pCisJCQlyZXR1cm4g bWluOworCX0KIAogCXJldHVybiAtRU5PS0VZOwogfQo=