Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1882507ybz; Thu, 30 Apr 2020 07:10:09 -0700 (PDT) X-Google-Smtp-Source: APiQypLnKUUj7bbpLLqAPfGBUFjRSHjzVhc1Q4sxSGvmc/M3aH/r9wrg4FkHbdqjbpqTL5I0jStq X-Received: by 2002:a17:906:2296:: with SMTP id p22mr2796702eja.269.1588255809063; Thu, 30 Apr 2020 07:10:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588255809; cv=none; d=google.com; s=arc-20160816; b=W/epMaDEceyBxfUKr+3JKa/OP3ONhw2hOPslMBTxFJWHG5WxOe5ULbLkWkLwb5tx7S ebFiu70ekeFNSEdQE0oHuy1fu7+i6RWtd8wBnzKeqczcJT+OtuKGhHAl/IESFIE7o43c OWH5h0d2DyFJUOQiBrgoyZknWgplJCuuw4X70xjEcXvhTjXKA2g2PTBeY30d3ZR4Z4Yh kI80FSQb5Dvn5sPBU8lQm/tSOFBr0FDtT+XY2LM1XiXIk+SbaPZRiis69rZDvtAvI+cE Pa1NvDxcZZe8zmtUOaopS4NqCv4fAfS+C1tq7nXbuXawb6/BGp1YB4seTVTjr8O+icpp r98Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=tDKLPvk59KJ8gUtobezVmQEkeSiCp5LST8qBsc2v5kI=; b=w/Xjs8dD4nuNSdPI0SH53EvM/4vNcLyiMmdLn79vDoMJA1ND6XM6/8JuDpbSs3ZXTa 0t4yuHxXV/W3hstRv6hCw8KhSpGbYALZHP2CsjFyzqHMidMhzfTjQosthBag80/8ZNzT NM+W3hcis+96Ong8OsUUcZmS/alI+epi/SiRU6hNoH2A12czIOQTwC37Cfhq+w3ldbsj pgYGu4ygS5QGlG/cNNidLkFyUZVJF+qSQnBZjyEplOQ1vbJvDdFPcgewftyMR50mNv1m Ic4/cCiiP6gkcIogb1pNF9XhkF+mIp2Q8znhNY5DDUWyY8qdOrHowiuBXWKz8IXAFAT+ xFoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ZrRJ0Wuu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t24si5698892ejb.144.2020.04.30.07.09.40; Thu, 30 Apr 2020 07:10:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ZrRJ0Wuu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729525AbgD3OFK (ORCPT + 99 others); Thu, 30 Apr 2020 10:05:10 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:28194 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728947AbgD3OFJ (ORCPT ); Thu, 30 Apr 2020 10:05:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588255506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=tDKLPvk59KJ8gUtobezVmQEkeSiCp5LST8qBsc2v5kI=; b=ZrRJ0Wuuuui6h+2LIp5y7wzkPVzKCuHb3Q+sj8HKlTw1GHvf9mv2x/g8eK/rR+omR+Z5gZ +Y5Fo6G3QQemQXrbScenyEJ4Ua9FKr9JQMW+T3bat21Q0UujJVs1a38FxQv0dMCW9CRhFx wBtTS6dToBzxlZXDaylzyORLg/3VQqw= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-71-wF2ybr8kNmyrbzG75kYa9g-1; Thu, 30 Apr 2020 10:04:50 -0400 X-MC-Unique: wF2ybr8kNmyrbzG75kYa9g-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6FC68107ACCA; Thu, 30 Apr 2020 14:04:49 +0000 (UTC) Received: from localhost (ovpn-115-102.ams2.redhat.com [10.36.115.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id B483C60C84; Thu, 30 Apr 2020 14:04:43 +0000 (UTC) From: Stefan Hajnoczi To: virtualization@lists.linux-foundation.org Cc: linux-block@vger.kernel.org, Paolo Bonzini , Jens Axboe , cohuck@redhat.com, Christoph Hellwig , linux-kernel@vger.kernel.org, Jason Wang , Stefano Garzarella , "Michael S. Tsirkin" , Stefan Hajnoczi , Lance Digby Subject: [PATCH v4] virtio-blk: handle block_device_operations callbacks after hot unplug Date: Thu, 30 Apr 2020 15:04:42 +0100 Message-Id: <20200430140442.171016-1-stefanha@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QSB1c2Vyc3BhY2UgcHJvY2VzcyBob2xkaW5nIGEgZmlsZSBkZXNjcmlwdG9yIHRvIGEgdmlydGlv X2JsayBkZXZpY2UgY2FuCnN0aWxsIGludm9rZSBibG9ja19kZXZpY2Vfb3BlcmF0aW9ucyBhZnRl ciBob3QgdW5wbHVnLiAgVGhpcyBsZWFkcyB0byBhCnVzZS1hZnRlci1mcmVlIGFjY2Vzc2luZyB2 YmxrLT52ZGV2IGluIHZpcnRibGtfZ2V0Z2VvKCkgd2hlbgppb2N0bChIRElPX0dFVEdFTykgaXMg aW52b2tlZDoKCiAgQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVy ZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAwMDA5MAogIElQOiBbPGZmZmZmZmZmYzAwZTU0NTA+XSB2 aXJ0aW9fY2hlY2tfZHJpdmVyX29mZmVyZWRfZmVhdHVyZSsweDEwLzB4OTAgW3ZpcnRpb10KICBQ R0QgODAwMDAwMDAzYTkyZjA2NyBQVUQgM2E5MzAwNjcgUE1EIDAKICBPb3BzOiAwMDAwIFsjMV0g U01QCiAgQ1BVOiAwIFBJRDogMTMxMCBDb21tOiBoZGlvLWdldGdlbyBUYWludGVkOiBHICAgICAg ICAgICBPRSAgLS0tLS0tLS0tLS0tICAgMy4xMC4wLTEwNjIuZWw3Lng4Nl82NCAjMQogIEhhcmR3 YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIHJl bC0xLjEzLjAtMC1nZjIxYjVhNGFlYjAyLXByZWJ1aWx0LnFlbXUub3JnIDA0LzAxLzIwMTQKICB0 YXNrOiBmZmZmOWJlNWZiZmI4MDAwIHRpOiBmZmZmOWJlNWZhODkwMDAwIHRhc2sudGk6IGZmZmY5 YmU1ZmE4OTAwMDAKICBSSVA6IDAwMTA6WzxmZmZmZmZmZmMwMGU1NDUwPl0gIFs8ZmZmZmZmZmZj MDBlNTQ1MD5dIHZpcnRpb19jaGVja19kcml2ZXJfb2ZmZXJlZF9mZWF0dXJlKzB4MTAvMHg5MCBb dmlydGlvXQogIFJTUDogMDAxODpmZmZmOWJlNWZhODkzZGM4ICBFRkxBR1M6IDAwMDEwMjQ2CiAg UkFYOiBmZmZmOWJlNWZjM2YzNDAwIFJCWDogZmZmZjliZTVmYTg5M2UzMCBSQ1g6IDAwMDAwMDAw MDAwMDAwMDAKICBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDA0IFJE STogZmZmZjliZTVmYmMxMGI0MAogIFJCUDogZmZmZjliZTVmYTg5M2RjOCBSMDg6IDAwMDAwMDAw MDAwMDAzMDEgUjA5OiAwMDAwMDAwMDAwMDAwMzAxCiAgUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIx MTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY5YmU1ZmRjMjQ2ODAKICBSMTM6IGZmZmY5YmU1 ZmJjMTBiNDAgUjE0OiBmZmZmOWJlNWZiYzEwNDgwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAogIEZT OiAgMDAwMDdmMWJmYjk2ODc0MCgwMDAwKSBHUzpmZmZmOWJlNWZmYzAwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDAKICBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw MDAwMDgwMDUwMDMzCiAgQ1IyOiAwMDAwMDAwMDAwMDAwMDkwIENSMzogMDAwMDAwMDAzYTg5NDAw MCBDUjQ6IDAwMDAwMDAwMDAzNjBmZjAKICBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAw MDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMAogIERSMzogMDAwMDAwMDAwMDAwMDAw MCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCiAgQ2FsbCBUcmFj ZToKICAgWzxmZmZmZmZmZmMwMTZhYzM3Pl0gdmlydGJsa19nZXRnZW8rMHg0Ny8weDExMCBbdmly dGlvX2Jsa10KICAgWzxmZmZmZmZmZjhkM2YyMDBkPl0gPyBoYW5kbGVfbW1fZmF1bHQrMHgzOWQv MHg5YjAKICAgWzxmZmZmZmZmZjhkNTYxMjY1Pl0gYmxrZGV2X2lvY3RsKzB4MWY1LzB4YTIwCiAg IFs8ZmZmZmZmZmY4ZDQ4ODc3MT5dIGJsb2NrX2lvY3RsKzB4NDEvMHg1MAogICBbPGZmZmZmZmZm OGQ0NWQ5ZTA+XSBkb192ZnNfaW9jdGwrMHgzYTAvMHg1YTAKICAgWzxmZmZmZmZmZjhkNDVkYzgx Pl0gU3lTX2lvY3RsKzB4YTEvMHhjMAoKQSByZWxhdGVkIHByb2JsZW0gaXMgdGhhdCB2aXJ0Ymxr X3JlbW92ZSgpIGxlYWtzIHRoZSB2ZF9pbmRleF9pZGEgaW5kZXgKd2hlbiBzb21ldGhpbmcgc3Rp bGwgaG9sZHMgYSByZWZlcmVuY2UgdG8gdmJsay0+ZGlzayBkdXJpbmcgaG90IHVucGx1Zy4KVGhp cyBjYXVzZXMgdmlydGlvLWJsayBkZXZpY2UgbmFtZXMgdG8gYmUgbG9zdCAodmRhLCB2ZGIsIGV0 YykuCgpGaXggdGhlc2UgaXNzdWVzIGJ5IHByb3RlY3RpbmcgdmJsay0+dmRldiB3aXRoIGEgbXV0 ZXggYW5kIHJlZmVyZW5jZQpjb3VudGluZyB2YmxrIHNvIHRoZSB2ZF9pbmRleF9pZGEgaW5kZXgg Y2FuIGJlIHJlbW92ZWQgaW4gYWxsIGNhc2VzLgoKRml4ZXM6IDQ4ZTQwNDNkNDUyOTUyM2NiYzdm YThkZDc0NWJkOGUyYzQ1Y2UxZDMKICAgICAgICgidmlydGlvOiBhZGQgdmlydGlvIGRpc2sgZ2Vv bWV0cnkgZmVhdHVyZSIpClJlcG9ydGVkLWJ5OiBMYW5jZSBEaWdieSA8bGRpZ2J5QHJlZGhhdC5j b20+ClNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4K LS0tCnY0OgogKiBDbGFyaWZ5IHZkZXZfbXV0ZXggdXNhZ2UgW1N0ZWZhbm8gYW5kIE1pY2hhZWxd CgogZHJpdmVycy9ibG9jay92aXJ0aW9fYmxrLmMgfCA4NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay92aXJ0aW9fYmxrLmMgYi9kcml2 ZXJzL2Jsb2NrL3ZpcnRpb19ibGsuYwppbmRleCA5MzQ2OGI3YzY3MDEuLjlkMjFiZjBmMTU1ZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay92aXJ0aW9fYmxrLmMKKysrIGIvZHJpdmVycy9ibG9j ay92aXJ0aW9fYmxrLmMKQEAgLTMzLDYgKzMzLDE1IEBAIHN0cnVjdCB2aXJ0aW9fYmxrX3ZxIHsK IH0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKIAogc3RydWN0IHZpcnRpb19ibGsgewor CS8qCisJICogVGhpcyBtdXRleCBtdXN0IGJlIGhlbGQgYnkgYW55dGhpbmcgdGhhdCBtYXkgcnVu IGFmdGVyCisJICogdmlydGJsa19yZW1vdmUoKSBzZXRzIHZibGstPnZkZXYgdG8gTlVMTC4KKwkg KgorCSAqIGJsay1tcSwgdmlydHF1ZXVlIHByb2Nlc3NpbmcsIGFuZCBzeXNmcyBhdHRyaWJ1dGUg Y29kZSBwYXRocyBhcmUKKwkgKiBzaHV0IGRvd24gYmVmb3JlIHZibGstPnZkZXYgaXMgc2V0IHRv IE5VTEwgYW5kIHRoZXJlZm9yZSBkbyBub3QgbmVlZAorCSAqIHRvIGhvbGQgdGhpcyBtdXRleC4K KwkgKi8KKwlzdHJ1Y3QgbXV0ZXggdmRldl9tdXRleDsKIAlzdHJ1Y3QgdmlydGlvX2RldmljZSAq dmRldjsKIAogCS8qIFRoZSBkaXNrIHN0cnVjdHVyZSBmb3IgdGhlIGtlcm5lbC4gKi8KQEAgLTQ0 LDYgKzUzLDEzIEBAIHN0cnVjdCB2aXJ0aW9fYmxrIHsKIAkvKiBQcm9jZXNzIGNvbnRleHQgZm9y IGNvbmZpZyBzcGFjZSB1cGRhdGVzICovCiAJc3RydWN0IHdvcmtfc3RydWN0IGNvbmZpZ193b3Jr OwogCisJLyoKKwkgKiBUcmFja3MgcmVmZXJlbmNlcyBmcm9tIGJsb2NrX2RldmljZV9vcGVyYXRp b25zIG9wZW4vcmVsZWFzZSBhbmQKKwkgKiB2aXJ0aW9fZHJpdmVyIHByb2JlL3JlbW92ZSBzbyB0 aGlzIG9iamVjdCBjYW4gYmUgZnJlZWQgb25jZSBubworCSAqIGxvbmdlciBpbiB1c2UuCisJICov CisJcmVmY291bnRfdCByZWZzOworCiAJLyogV2hhdCBob3N0IHRlbGxzIHVzLCBwbHVzIDIgZm9y IGhlYWRlciAmIHRhaWxlci4gKi8KIAl1bnNpZ25lZCBpbnQgc2dfZWxlbXM7CiAKQEAgLTI5NSwx MCArMzExLDU1IEBAIHN0YXRpYyBpbnQgdmlydGJsa19nZXRfaWQoc3RydWN0IGdlbmRpc2sgKmRp c2ssIGNoYXIgKmlkX3N0cikKIAlyZXR1cm4gZXJyOwogfQogCitzdGF0aWMgdm9pZCB2aXJ0Ymxr X2dldChzdHJ1Y3QgdmlydGlvX2JsayAqdmJsaykKK3sKKwlyZWZjb3VudF9pbmMoJnZibGstPnJl ZnMpOworfQorCitzdGF0aWMgdm9pZCB2aXJ0YmxrX3B1dChzdHJ1Y3QgdmlydGlvX2JsayAqdmJs aykKK3sKKwlpZiAocmVmY291bnRfZGVjX2FuZF90ZXN0KCZ2YmxrLT5yZWZzKSkgeworCQlpZGFf c2ltcGxlX3JlbW92ZSgmdmRfaW5kZXhfaWRhLCB2YmxrLT5pbmRleCk7CisJCW11dGV4X2Rlc3Ry b3koJnZibGstPnZkZXZfbXV0ZXgpOworCQlrZnJlZSh2YmxrKTsKKwl9Cit9CisKK3N0YXRpYyBp bnQgdmlydGJsa19vcGVuKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkLCBmbW9kZV90IG1vZGUpCit7 CisJc3RydWN0IHZpcnRpb19ibGsgKnZibGsgPSBiZC0+YmRfZGlzay0+cHJpdmF0ZV9kYXRhOwor CWludCByZXQgPSAwOworCisJbXV0ZXhfbG9jaygmdmJsay0+dmRldl9tdXRleCk7CisKKwlpZiAo dmJsay0+dmRldikKKwkJdmlydGJsa19nZXQodmJsayk7CisJZWxzZQorCQlyZXQgPSAtRU5YSU87 CisKKwltdXRleF91bmxvY2soJnZibGstPnZkZXZfbXV0ZXgpOworCXJldHVybiByZXQ7Cit9CisK K3N0YXRpYyB2b2lkIHZpcnRibGtfcmVsZWFzZShzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgZm1vZGVf dCBtb2RlKQoreworCXN0cnVjdCB2aXJ0aW9fYmxrICp2YmxrID0gZGlzay0+cHJpdmF0ZV9kYXRh OworCisJdmlydGJsa19wdXQodmJsayk7Cit9CisKIC8qIFdlIHByb3ZpZGUgZ2V0Z2VvIG9ubHkg dG8gcGxlYXNlIHNvbWUgb2xkIGJvb3Rsb2FkZXIvcGFydGl0aW9uaW5nIHRvb2xzICovCiBzdGF0 aWMgaW50IHZpcnRibGtfZ2V0Z2VvKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkLCBzdHJ1Y3QgaGRf Z2VvbWV0cnkgKmdlbykKIHsKIAlzdHJ1Y3QgdmlydGlvX2JsayAqdmJsayA9IGJkLT5iZF9kaXNr LT5wcml2YXRlX2RhdGE7CisJaW50IHJldCA9IDA7CisKKwltdXRleF9sb2NrKCZ2YmxrLT52ZGV2 X211dGV4KTsKKworCWlmICghdmJsay0+dmRldikgeworCQlyZXQgPSAtRU5YSU87CisJCWdvdG8g b3V0OworCX0KIAogCS8qIHNlZSBpZiB0aGUgaG9zdCBwYXNzZWQgaW4gZ2VvbWV0cnkgY29uZmln ICovCiAJaWYgKHZpcnRpb19oYXNfZmVhdHVyZSh2YmxrLT52ZGV2LCBWSVJUSU9fQkxLX0ZfR0VP TUVUUlkpKSB7CkBAIC0zMTQsMTEgKzM3NSwxNSBAQCBzdGF0aWMgaW50IHZpcnRibGtfZ2V0Z2Vv KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkLCBzdHJ1Y3QgaGRfZ2VvbWV0cnkgKmdlbykKIAkJZ2Vv LT5zZWN0b3JzID0gMSA8PCA1OwogCQlnZW8tPmN5bGluZGVycyA9IGdldF9jYXBhY2l0eShiZC0+ YmRfZGlzaykgPj4gMTE7CiAJfQotCXJldHVybiAwOworb3V0OgorCW11dGV4X3VubG9jaygmdmJs ay0+dmRldl9tdXRleCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBi bG9ja19kZXZpY2Vfb3BlcmF0aW9ucyB2aXJ0YmxrX2ZvcHMgPSB7CiAJLm93bmVyICA9IFRISVNf TU9EVUxFLAorCS5vcGVuID0gdmlydGJsa19vcGVuLAorCS5yZWxlYXNlID0gdmlydGJsa19yZWxl YXNlLAogCS5nZXRnZW8gPSB2aXJ0YmxrX2dldGdlbywKIH07CiAKQEAgLTY1NSw2ICs3MjAsMTAg QEAgc3RhdGljIGludCB2aXJ0YmxrX3Byb2JlKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQog CQlnb3RvIG91dF9mcmVlX2luZGV4OwogCX0KIAorCS8qIFRoaXMgcmVmZXJlbmNlIGlzIGRyb3Bw ZWQgaW4gdmlydGJsa19yZW1vdmUoKS4gKi8KKwlyZWZjb3VudF9zZXQoJnZibGstPnJlZnMsIDEp OworCW11dGV4X2luaXQoJnZibGstPnZkZXZfbXV0ZXgpOworCiAJdmJsay0+dmRldiA9IHZkZXY7 CiAJdmJsay0+c2dfZWxlbXMgPSBzZ19lbGVtczsKIApAQCAtODIwLDggKzg4OSw2IEBAIHN0YXRp YyBpbnQgdmlydGJsa19wcm9iZShzdHJ1Y3QgdmlydGlvX2RldmljZSAqdmRldikKIHN0YXRpYyB2 b2lkIHZpcnRibGtfcmVtb3ZlKHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQogewogCXN0cnVj dCB2aXJ0aW9fYmxrICp2YmxrID0gdmRldi0+cHJpdjsKLQlpbnQgaW5kZXggPSB2YmxrLT5pbmRl eDsKLQlpbnQgcmVmYzsKIAogCS8qIE1ha2Ugc3VyZSBubyB3b3JrIGhhbmRsZXIgaXMgYWNjZXNz aW5nIHRoZSBkZXZpY2UuICovCiAJZmx1c2hfd29yaygmdmJsay0+Y29uZmlnX3dvcmspOwpAQCAt ODMxLDE4ICs4OTgsMjEgQEAgc3RhdGljIHZvaWQgdmlydGJsa19yZW1vdmUoc3RydWN0IHZpcnRp b19kZXZpY2UgKnZkZXYpCiAKIAlibGtfbXFfZnJlZV90YWdfc2V0KCZ2YmxrLT50YWdfc2V0KTsK IAorCW11dGV4X2xvY2soJnZibGstPnZkZXZfbXV0ZXgpOworCiAJLyogU3RvcCBhbGwgdGhlIHZp cnRxdWV1ZXMuICovCiAJdmRldi0+Y29uZmlnLT5yZXNldCh2ZGV2KTsKIAotCXJlZmMgPSBrcmVm X3JlYWQoJmRpc2tfdG9fZGV2KHZibGstPmRpc2spLT5rb2JqLmtyZWYpOworCS8qIFZpcnRxdWV1 ZXMgYXJlIHN0b3BwZWQsIG5vdGhpbmcgY2FuIHVzZSB2YmxrLT52ZGV2IGFueW1vcmUuICovCisJ dmJsay0+dmRldiA9IE5VTEw7CisKIAlwdXRfZGlzayh2YmxrLT5kaXNrKTsKIAl2ZGV2LT5jb25m aWctPmRlbF92cXModmRldik7CiAJa2ZyZWUodmJsay0+dnFzKTsKLQlrZnJlZSh2YmxrKTsKIAot CS8qIE9ubHkgZnJlZSBkZXZpY2UgaWQgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgdXNlcnMgKi8KLQlp ZiAocmVmYyA9PSAxKQotCQlpZGFfc2ltcGxlX3JlbW92ZSgmdmRfaW5kZXhfaWRhLCBpbmRleCk7 CisJbXV0ZXhfdW5sb2NrKCZ2YmxrLT52ZGV2X211dGV4KTsKKworCXZpcnRibGtfcHV0KHZibGsp OwogfQogCiAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCi0tIAoyLjI1LjMKCg==