From owner-freebsd-arch@FreeBSD.ORG Tue Oct 21 11:50:16 2014 Return-Path: <owner-freebsd-arch@FreeBSD.ORG> Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EEC5AAE7 for <arch@freebsd.org>; Tue, 21 Oct 2014 11:50:16 +0000 (UTC) Received: from smtp.vangyzen.net (hotblack.vangyzen.net [IPv6:2607:fc50:1000:7400:216:3eff:fe72:314f]) by mx1.freebsd.org (Postfix) with ESMTP id D2DBAF85 for <arch@freebsd.org>; Tue, 21 Oct 2014 11:50:16 +0000 (UTC) Received: from marvin.lab.vangyzen.net (c-24-125-214-90.hsd1.va.comcast.net [24.125.214.90]) by smtp.vangyzen.net (Postfix) with ESMTPSA id 005F756467; Tue, 21 Oct 2014 06:50:15 -0500 (CDT) Message-ID: <54464876.80905@vangyzen.net> Date: Tue, 21 Oct 2014 07:50:14 -0400 From: Eric van Gyzen <eric@vangyzen.net> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Konstantin Belousov <kostikbel@gmail.com> Subject: Re: RfC: fueword(9) and casueword(9) References: <20141021094539.GA1877@kib.kiev.ua> In-Reply-To: <20141021094539.GA1877@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: arch@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture <freebsd-arch.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-arch>, <mailto:freebsd-arch-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/freebsd-arch/> List-Post: <mailto:freebsd-arch@freebsd.org> List-Help: <mailto:freebsd-arch-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-arch>, <mailto:freebsd-arch-request@freebsd.org?subject=subscribe> X-List-Received-Date: Tue, 21 Oct 2014 11:50:17 -0000 On 10/21/2014 05:45, Konstantin Belousov wrote: > @@ -921,7 +933,9 @@ do_lock_normal(struct thread *td, struct umutex *m, uint32_t flags, > * can fault on any access. > */ > for (;;) { > - owner = fuword32(__DEVOLATILE(void *, &m->m_owner)); > + rv = fueword32(__DEVOLATILE(void *, &m->m_owner), &owner); > + if (error == -1) > + return (EFAULT); rv is assigned, but error is tested. I only reviewed kern_umtx.c, and very quickly. I'll try to review more thoroughly later today. Eric