From owner-freebsd-fs@freebsd.org Tue Oct 18 17:09:39 2016 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7DE3DC17E8E for ; Tue, 18 Oct 2016 17:09:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6AC128E5 for ; Tue, 18 Oct 2016 17:09:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u9IH9dsH081212 for ; Tue, 18 Oct 2016 17:09:39 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-fs@FreeBSD.org Subject: [Bug 90815] [smbfs] [patch] SMBFS with character conversions sometimes hangs Date: Tue, 18 Oct 2016 17:09:39 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 6.0-STABLE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: ae@FreeBSD.org X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: freebsd-fs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Oct 2016 17:09:39 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D90815 --- Comment #8 from Andrey V. Elsukov --- (In reply to Tomoaki AOKI from comment #6) > (In reply to Andrey V. Elsukov from comment #5) >=20 > With my patch, if smb_copy_iconv() is called recursively, you're right. > If not, my patch can be better, as whole src is kept unchanged if > iconv_conv() returns -1. >=20 > *According to the prototype of iconv_conv() in src/sys/sys/iconv.h, > src is constant, so shouldn't be changed at all by iconv_conv(). >=20 > With my patch, if modified code path is executed, cp would copy with > original filename unchanged and succeeds, while with yours the file is > skipped. mb_put_mem() can allocate new mbuf and link it with existent. Imagine that = one mbuf will be not enough to store converted name. In such case smb_copy_icon= v() will be called several times for one name (to convert parts of name stored = in different mbufs). So, it is possible, that first part will be converted correctly, but second call will fail. In such case I think it is not correc= t to just copy part of name as is. But I don't know how real this scenario can be :) --=20 You are receiving this mail because: You are the assignee for the bug.=