From owner-freebsd-bugs@FreeBSD.ORG Sun Oct 29 13:00:42 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54A1C16A407 for ; Sun, 29 Oct 2006 13:00:42 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8661643D4C for ; Sun, 29 Oct 2006 13:00:41 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k9TD0fVE066367 for ; Sun, 29 Oct 2006 13:00:41 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k9TD0fRx066362; Sun, 29 Oct 2006 13:00:41 GMT (envelope-from gnats) Date: Sun, 29 Oct 2006 13:00:41 GMT Message-Id: <200610291300.k9TD0fRx066362@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: "ghozzy _" Cc: Subject: [patch] Re: kern/77958: [smbfs] can't delete read-only files via smbfs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ghozzy _ List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 13:00:42 -0000 The following reply was made to PR kern/77958; it has been noted by GNATS. From: "ghozzy _" To: bug-followup@FreeBSD.org, is@sozvezdie.biz Cc: Subject: [patch] Re: kern/77958: [smbfs] can't delete read-only files via smbfs Date: Sun, 29 Oct 2006 15:54:43 +0300 ------=_Part_127649_20161043.1162126483941 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline These patches implement manipulating windows readonly bit with unix write bit(s) over smbfs. With these patches applied it's possible to make "chmod +w file" to reset or "chmod -w file" to set readonly bit over smbfs. I used these patches on several 4.x, 5.x and 6.x versions for about a year with no problems. I didn't test CURRENT though, but as the same patch from 6.x applies absolutely cleanly to HEAD, it makes me believe it will work as intended. The following file versions were used to make patches against: RELENG_4: /smbfs_node.c/1.2.2.5/ /smbfs_smb.c/1.1.2.4/ /smbfs_vnops.c/1.2.2.11/ RELENG_5: /smbfs_node.c/1.20.2.3/ /smbfs_smb.c/1.12.2.1/ /smbfs_vnops.c/1.46.2.2/ RELENG_6: /smbfs_node.c/1.28.2.1/ /smbfs_smb.c/1.15/ /smbfs_vnops.c/1.61.2.2/ HEAD: /smbfs_node.c/1.30/ /smbfs_smb.c/1.16/ /smbfs_vnops.c/1.62/ ------=_Part_127649_20161043.1162126483941 Content-Type: application/octet-stream; name=smbfs_4.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_etvf5281 Content-Disposition: attachment; filename="smbfs_4.patch" ZGlmZiAtdXIgc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMgc3JjL3N5cy9mcy9zbWJmcy1w YXRjaGVkL3NtYmZzX25vZGUuYwotLS0gc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMJU3Vu IE9jdCAyOSAxMzo1OTozNiAyMDA2CisrKyBzcmMvc3lzL2ZzL3NtYmZzLXBhdGNoZWQvc21iZnNf bm9kZS5jCVdlZCBBdWcgMzEgMTE6Mjc6MzEgMjAwNQpAQCAtNDUsNiArNDUsNyBAQAogLyojaW5j bHVkZSA8dm0vdm1fcGFnZS5oPgogI2luY2x1ZGUgPHZtL3ZtX29iamVjdC5oPiovCiAjaW5jbHVk ZSA8c3lzL3F1ZXVlLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KIAogI2luY2x1ZGUgPG5ldHNt Yi9zbWIuaD4KICNpbmNsdWRlIDxuZXRzbWIvc21iX2Nvbm4uaD4KQEAgLTQxNSw2ICs0MTYsOCBA QAogCXZhLT52YV90eXBlID0gdnAtPnZfdHlwZTsJCS8qIHZub2RlIHR5cGUgKGZvciBjcmVhdGUp ICovCiAJaWYgKHZwLT52X3R5cGUgPT0gVlJFRykgewogCQl2YS0+dmFfbW9kZSA9IHNtcC0+c21f YXJncy5maWxlX21vZGU7CS8qIGZpbGVzIGFjY2VzcyBtb2RlIGFuZCB0eXBlICovCisJCWlmIChu cC0+bl9kb3NhdHRyICYgU01CX0ZBX1JET05MWSkKKwkJCXZhLT52YV9tb2RlICY9IH4oU19JV1VT UnxTX0lXR1JQfFNfSVdPVEgpOwogCX0gZWxzZSBpZiAodnAtPnZfdHlwZSA9PSBWRElSKSB7CiAJ CXZhLT52YV9tb2RlID0gc21wLT5zbV9hcmdzLmRpcl9tb2RlOwkvKiBmaWxlcyBhY2Nlc3MgbW9k ZSBhbmQgdHlwZSAqLwogCX0gZWxzZQpkaWZmIC11ciBzcmMvc3lzL2ZzL3NtYmZzL3NtYmZzX3Nt Yi5jIHNyYy9zeXMvZnMvc21iZnMtcGF0Y2hlZC9zbWJmc19zbWIuYwotLS0gc3JjL3N5cy9mcy9z bWJmcy9zbWJmc19zbWIuYwlTdW4gT2N0IDI5IDEzOjU5OjM4IDIwMDYKKysrIHNyYy9zeXMvZnMv c21iZnMtcGF0Y2hlZC9zbWJmc19zbWIuYwlXZWQgQXVnIDMxIDExOjI3OjMyIDIwMDUKQEAgLTUx Miw5ICs1MTIsMTAgQEAKIAkJbWJfcHV0X3VpbnQ4KG1icCwgMCk7CiAJCXNtYl9ycV9iZW5kKHJx cCk7CiAJCWVycm9yID0gc21iX3JxX3NpbXBsZShycXApOwotCQlTTUJFUlJPUigiJWRcbiIsIGVy cm9yKTsKLQkJaWYgKGVycm9yKQorCQlpZiAoZXJyb3IpIHsKKwkJCVNNQkVSUk9SKCJzbWJfcnFf c2ltcGxlKHJxcCkgPT4gZXJyb3IgJWRcbiIsIGVycm9yKTsKIAkJCWJyZWFrOworCQl9CiAJfSB3 aGlsZSgwKTsKIAlzbWJfcnFfZG9uZShycXApOwogCXJldHVybiBlcnJvcjsKZGlmZiAtdXIgc3Jj L3N5cy9mcy9zbWJmcy9zbWJmc192bm9wcy5jIHNyYy9zeXMvZnMvc21iZnMtcGF0Y2hlZC9zbWJm c192bm9wcy5jCi0tLSBzcmMvc3lzL2ZzL3NtYmZzL3NtYmZzX3Zub3BzLmMJU3VuIE9jdCAyOSAx Mzo1OTo0MCAyMDA2CisrKyBzcmMvc3lzL2ZzL3NtYmZzLXBhdGNoZWQvc21iZnNfdm5vcHMuYwlT dW4gT2N0IDI5IDEzOjUxOjMzIDIwMDYKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlIDxzeXMv dW5pc3RkLmg+CiAjaW5jbHVkZSA8c3lzL3Zub2RlLmg+CiAjaW5jbHVkZSA8c3lzL2xvY2tmLmg+ CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KIAogI2luY2x1ZGUgPG1hY2hpbmUvbGltaXRzLmg+CiAK QEAgLTMzMiw2ICszMzMsNyBAQAogCXN0cnVjdCBzbWJfdmMgKnZjcCA9IFNTVE9WQyhzc3ApOwog CXVfcXVhZF90IHRzaXplID0gMDsKIAlpbnQgaXNyZWFkb25seSwgZG9jbG9zZSwgZXJyb3IgPSAw OworCWludCBvbGRfbl9kb3NhdHRyOwogCiAJU01CVkRFQlVHKCJcbiIpOwogCWlmICh2YXAtPnZh X2ZsYWdzICE9IFZOT1ZBTCkKQEAgLTM3Nyw2ICszNzksMTggQEAKIAkJCXJldHVybiBlcnJvcjsK IAkJfQogICAJfQorCWlmICh2YXAtPnZhX21vZGUgIT0gKG1vZGVfdClWTk9WQUwpIHsKKwkJb2xk X25fZG9zYXR0ciA9IG5wLT5uX2Rvc2F0dHI7CisJCWlmICh2YXAtPnZhX21vZGUgJiBTX0lXVVNS KQorCQkJbnAtPm5fZG9zYXR0ciAmPSB+U01CX0ZBX1JET05MWTsKKwkJZWxzZQorCQkJbnAtPm5f ZG9zYXR0ciB8PSBTTUJfRkFfUkRPTkxZOworCQlpZiAobnAtPm5fZG9zYXR0ciAhPSBvbGRfbl9k b3NhdHRyKSB7CisJCQllcnJvciA9IHNtYmZzX3NtYl9zZXRwYXR0cihucCwgbnAtPm5fZG9zYXR0 ciwgTlVMTCwgJnNjcmVkKTsKKwkJCWlmIChlcnJvcikKKwkJCQlyZXR1cm4gZXJyb3I7CisJCX0K Kwl9CiAJbXRpbWUgPSBhdGltZSA9IE5VTEw7CiAJaWYgKHZhcC0+dmFfbXRpbWUudHZfc2VjICE9 IFZOT1ZBTCkKIAkJbXRpbWUgPSAmdmFwLT52YV9tdGltZTsK ------=_Part_127649_20161043.1162126483941 Content-Type: application/octet-stream; name=smbfs_5.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_etvf5d35 Content-Disposition: attachment; filename="smbfs_5.patch" ZGlmZiAtdXIgc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMgc3JjL3N5cy9mcy9zbWJmcy1w YXRjaGVkL3NtYmZzX25vZGUuYwotLS0gc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMJV2Vk IEF1ZyAzMSAxMToyMzo1NCAyMDA1CisrKyBzcmMvc3lzL2ZzL3NtYmZzLXBhdGNoZWQvc21iZnNf bm9kZS5jCVdlZCBBdWcgMzEgMjE6NTA6NDEgMjAwNQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1 ZGUgPHN5cy9tb3VudC5oPgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3F1 ZXVlLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CiAj aW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDxzeXMvdm5vZGUuaD4KQEAgLTQxOCw2ICs0 MTksOCBAQAogCXZhLT52YV90eXBlID0gdnAtPnZfdHlwZTsJCS8qIHZub2RlIHR5cGUgKGZvciBj cmVhdGUpICovCiAJaWYgKHZwLT52X3R5cGUgPT0gVlJFRykgewogCQl2YS0+dmFfbW9kZSA9IHNt cC0+c21fYXJncy5maWxlX21vZGU7CS8qIGZpbGVzIGFjY2VzcyBtb2RlIGFuZCB0eXBlICovCisJ CWlmIChucC0+bl9kb3NhdHRyICYgU01CX0ZBX1JET05MWSkKKwkJCXZhLT52YV9tb2RlICY9IH4o U19JV1VTUnxTX0lXR1JQfFNfSVdPVEgpOwogCX0gZWxzZSBpZiAodnAtPnZfdHlwZSA9PSBWRElS KSB7CiAJCXZhLT52YV9tb2RlID0gc21wLT5zbV9hcmdzLmRpcl9tb2RlOwkvKiBmaWxlcyBhY2Nl c3MgbW9kZSBhbmQgdHlwZSAqLwogCX0gZWxzZQpkaWZmIC11ciBzcmMvc3lzL2ZzL3NtYmZzL3Nt YmZzX3NtYi5jIHNyYy9zeXMvZnMvc21iZnMtcGF0Y2hlZC9zbWJmc19zbWIuYwotLS0gc3JjL3N5 cy9mcy9zbWJmcy9zbWJmc19zbWIuYwlXZWQgQXVnIDMxIDExOjIzOjU0IDIwMDUKKysrIHNyYy9z eXMvZnMvc21iZnMtcGF0Y2hlZC9zbWJmc19zbWIuYwlXZWQgQXVnIDMxIDExOjI5OjMzIDIwMDUK QEAgLTUxMiw5ICs1MTIsMTAgQEAKIAkJbWJfcHV0X3VpbnQ4KG1icCwgMCk7CiAJCXNtYl9ycV9i ZW5kKHJxcCk7CiAJCWVycm9yID0gc21iX3JxX3NpbXBsZShycXApOwotCQlTTUJFUlJPUigiJWRc biIsIGVycm9yKTsKLQkJaWYgKGVycm9yKQorCQlpZiAoZXJyb3IpIHsKKwkJCVNNQkVSUk9SKCJz bWJfcnFfc2ltcGxlKHJxcCkgPT4gZXJyb3IgJWRcbiIsIGVycm9yKTsKIAkJCWJyZWFrOworCQl9 CiAJfSB3aGlsZSgwKTsKIAlzbWJfcnFfZG9uZShycXApOwogCXJldHVybiBlcnJvcjsKZGlmZiAt dXIgc3JjL3N5cy9mcy9zbWJmcy9zbWJmc192bm9wcy5jIHNyYy9zeXMvZnMvc21iZnMtcGF0Y2hl ZC9zbWJmc192bm9wcy5jCi0tLSBzcmMvc3lzL2ZzL3NtYmZzL3NtYmZzX3Zub3BzLmMJU3VuIE9j dCAyOSAxNDowOTo0NyAyMDA2CisrKyBzcmMvc3lzL2ZzL3NtYmZzLXBhdGNoZWQvc21iZnNfdm5v cHMuYwlTdW4gT2N0IDI5IDE0OjE3OjQ2IDIwMDYKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRl IDxzeXMvdm5vZGUuaD4KICNpbmNsdWRlIDxzeXMvbGltaXRzLmg+CiAjaW5jbHVkZSA8c3lzL2xv Y2tmLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KIAogI2luY2x1ZGUgPHZtL3ZtLmg+CiAjaW5j bHVkZSA8dm0vdm1fZXh0ZXJuLmg+CkBAIC0zMTksNiArMzIwLDcgQEAKIAlzdHJ1Y3Qgc21iX3Zj ICp2Y3AgPSBTU1RPVkMoc3NwKTsKIAl1X3F1YWRfdCB0c2l6ZSA9IDA7CiAJaW50IGlzcmVhZG9u bHksIGRvY2xvc2UsIGVycm9yID0gMDsKKwlpbnQgb2xkX25fZG9zYXR0cjsKIAogCVNNQlZERUJV RygiXG4iKTsKIAlpZiAodmFwLT52YV9mbGFncyAhPSBWTk9WQUwpCkBAIC0zNjQsNiArMzY2LDE4 IEBACiAJCQlyZXR1cm4gZXJyb3I7CiAJCX0KICAgCX0KKwlpZiAodmFwLT52YV9tb2RlICE9ICht b2RlX3QpVk5PVkFMKSB7CisJCW9sZF9uX2Rvc2F0dHIgPSBucC0+bl9kb3NhdHRyOworCQlpZiAo dmFwLT52YV9tb2RlICYgU19JV1VTUikKKwkJCW5wLT5uX2Rvc2F0dHIgJj0gflNNQl9GQV9SRE9O TFk7CisJCWVsc2UKKwkJCW5wLT5uX2Rvc2F0dHIgfD0gU01CX0ZBX1JET05MWTsKKwkJaWYgKG5w LT5uX2Rvc2F0dHIgIT0gb2xkX25fZG9zYXR0cikgeworCQkJZXJyb3IgPSBzbWJmc19zbWJfc2V0 cGF0dHIobnAsIG5wLT5uX2Rvc2F0dHIsIE5VTEwsICZzY3JlZCk7CisJCQlpZiAoZXJyb3IpCisJ CQkJcmV0dXJuIGVycm9yOworCQl9CisJfQogCW10aW1lID0gYXRpbWUgPSBOVUxMOwogCWlmICh2 YXAtPnZhX210aW1lLnR2X3NlYyAhPSBWTk9WQUwpCiAJCW10aW1lID0gJnZhcC0+dmFfbXRpbWU7 Cg== ------=_Part_127649_20161043.1162126483941 Content-Type: application/octet-stream; name=smbfs_6_and_HEAD.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_etvf5hed Content-Disposition: attachment; filename="smbfs_6_and_HEAD.patch" ZGlmZiAtdXIgc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMgc3JjL3N5cy9mcy9zbWJmcy1w YXRjaGVkL3NtYmZzX25vZGUuYwotLS0gc3JjL3N5cy9mcy9zbWJmcy9zbWJmc19ub2RlLmMJU3Vu IE9jdCAyOSAxNDoyMTozNSAyMDA2CisrKyBzcmMvc3lzL2ZzL3NtYmZzLXBhdGNoZWQvc21iZnNf bm9kZS5jCVN1biBPY3QgMjkgMTQ6MjI6MzIgMjAwNgpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1 ZGUgPHN5cy9tb3VudC5oPgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CiAjaW5jbHVkZSA8c3lzL3F1 ZXVlLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CiAj aW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDxzeXMvdm5vZGUuaD4KQEAgLTQyMSw2ICs0 MjIsOCBAQAogCXZhLT52YV90eXBlID0gdnAtPnZfdHlwZTsJCS8qIHZub2RlIHR5cGUgKGZvciBj cmVhdGUpICovCiAJaWYgKHZwLT52X3R5cGUgPT0gVlJFRykgewogCQl2YS0+dmFfbW9kZSA9IHNt cC0+c21fZmlsZV9tb2RlOyAvKiBmaWxlcyBhY2Nlc3MgbW9kZSBhbmQgdHlwZSAqLworCQlpZiAo bnAtPm5fZG9zYXR0ciAmIFNNQl9GQV9SRE9OTFkpCisJCQl2YS0+dmFfbW9kZSAmPSB+KFNfSVdV U1J8U19JV0dSUHxTX0lXT1RIKTsKIAl9IGVsc2UgaWYgKHZwLT52X3R5cGUgPT0gVkRJUikgewog CQl2YS0+dmFfbW9kZSA9IHNtcC0+c21fZGlyX21vZGU7CS8qIGZpbGVzIGFjY2VzcyBtb2RlIGFu ZCB0eXBlICovCiAJfSBlbHNlCmRpZmYgLXVyIHNyYy9zeXMvZnMvc21iZnMvc21iZnNfc21iLmMg c3JjL3N5cy9mcy9zbWJmcy1wYXRjaGVkL3NtYmZzX3NtYi5jCi0tLSBzcmMvc3lzL2ZzL3NtYmZz L3NtYmZzX3NtYi5jCVdlZCBNYXkgIDQgMTk6MDU6NDYgMjAwNQorKysgc3JjL3N5cy9mcy9zbWJm cy1wYXRjaGVkL3NtYmZzX3NtYi5jCVdlZCBBdWcgMzEgMTE6MzA6NDQgMjAwNQpAQCAtNTEyLDkg KzUxMiwxMCBAQAogCQltYl9wdXRfdWludDgobWJwLCAwKTsKIAkJc21iX3JxX2JlbmQocnFwKTsK IAkJZXJyb3IgPSBzbWJfcnFfc2ltcGxlKHJxcCk7Ci0JCVNNQkVSUk9SKCIlZFxuIiwgZXJyb3Ip OwotCQlpZiAoZXJyb3IpCisJCWlmIChlcnJvcikgeworCQkJU01CRVJST1IoInNtYl9ycV9zaW1w bGUocnFwKSA9PiBlcnJvciAlZFxuIiwgZXJyb3IpOwogCQkJYnJlYWs7CisJCX0KIAl9IHdoaWxl KDApOwogCXNtYl9ycV9kb25lKHJxcCk7CiAJcmV0dXJuIGVycm9yOwpkaWZmIC11ciBzcmMvc3lz L2ZzL3NtYmZzL3NtYmZzX3Zub3BzLmMgc3JjL3N5cy9mcy9zbWJmcy1wYXRjaGVkL3NtYmZzX3Zu b3BzLmMKLS0tIHNyYy9zeXMvZnMvc21iZnMvc21iZnNfdm5vcHMuYwlTdW4gT2N0IDI5IDE0OjIx OjM2IDIwMDYKKysrIHNyYy9zeXMvZnMvc21iZnMtcGF0Y2hlZC9zbWJmc192bm9wcy5jCVN1biBP Y3QgMjkgMTQ6MjI6MzUgMjAwNgpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgPHN5cy92bm9k ZS5oPgogI2luY2x1ZGUgPHN5cy9saW1pdHMuaD4KICNpbmNsdWRlIDxzeXMvbG9ja2YuaD4KKyNp bmNsdWRlIDxzeXMvc3RhdC5oPgogCiAjaW5jbHVkZSA8dm0vdm0uaD4KICNpbmNsdWRlIDx2bS92 bV9leHRlcm4uaD4KQEAgLTMwMSw2ICszMDIsNyBAQAogCXN0cnVjdCBzbWJfdmMgKnZjcCA9IFNT VE9WQyhzc3ApOwogCXVfcXVhZF90IHRzaXplID0gMDsKIAlpbnQgaXNyZWFkb25seSwgZG9jbG9z ZSwgZXJyb3IgPSAwOworCWludCBvbGRfbl9kb3NhdHRyOwogCiAJU01CVkRFQlVHKCJcbiIpOwog CWlmICh2YXAtPnZhX2ZsYWdzICE9IFZOT1ZBTCkKQEAgLTM0Niw2ICszNDgsMTggQEAKIAkJCXJl dHVybiBlcnJvcjsKIAkJfQogICAJfQorCWlmICh2YXAtPnZhX21vZGUgIT0gKG1vZGVfdClWTk9W QUwpIHsKKwkJb2xkX25fZG9zYXR0ciA9IG5wLT5uX2Rvc2F0dHI7CisJCWlmICh2YXAtPnZhX21v ZGUgJiBTX0lXVVNSKQorCQkJbnAtPm5fZG9zYXR0ciAmPSB+U01CX0ZBX1JET05MWTsKKwkJZWxz ZQorCQkJbnAtPm5fZG9zYXR0ciB8PSBTTUJfRkFfUkRPTkxZOworCQlpZiAobnAtPm5fZG9zYXR0 ciAhPSBvbGRfbl9kb3NhdHRyKSB7CisJCQllcnJvciA9IHNtYmZzX3NtYl9zZXRwYXR0cihucCwg bnAtPm5fZG9zYXR0ciwgTlVMTCwgJnNjcmVkKTsKKwkJCWlmIChlcnJvcikKKwkJCQlyZXR1cm4g ZXJyb3I7CisJCX0KKwl9CiAJbXRpbWUgPSBhdGltZSA9IE5VTEw7CiAJaWYgKHZhcC0+dmFfbXRp bWUudHZfc2VjICE9IFZOT1ZBTCkKIAkJbXRpbWUgPSAmdmFwLT52YV9tdGltZTsK ------=_Part_127649_20161043.1162126483941--