From owner-freebsd-fs@FreeBSD.ORG Tue Oct 7 03:50:05 2008 Return-Path: Delivered-To: freebsd-fs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2406F1065698 for ; Tue, 7 Oct 2008 03:50:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 12DD18FC1D for ; Tue, 7 Oct 2008 03:50:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m973o4SG017985 for ; Tue, 7 Oct 2008 03:50:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m973o411017984; Tue, 7 Oct 2008 03:50:04 GMT (envelope-from gnats) Date: Tue, 7 Oct 2008 03:50:04 GMT Message-Id: <200810070350.m973o411017984@freefall.freebsd.org> To: freebsd-fs@FreeBSD.org From: Maxim Konovalov Cc: Subject: Re: kern/127213: [tmpfs] sendfile on tmpfs data corruption X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim Konovalov List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Oct 2008 03:50:05 -0000 The following reply was made to PR kern/127213; it has been noted by GNATS. From: Maxim Konovalov To: Nate Eldredge Cc: bug-followup@freebsd.org, JH Subject: Re: kern/127213: [tmpfs] sendfile on tmpfs data corruption Date: Tue, 7 Oct 2008 07:43:17 +0400 (MSD) On Mon, 6 Oct 2008, 15:22-0700, Nate Eldredge wrote: > On Mon, 6 Oct 2008, Maxim Konovalov wrote: > > > Hello, > > > > On Mon, 6 Oct 2008, 06:40-0000, Nate Eldredge wrote: > > > > [...] > > > Incidentally, to the initial reporter, what application do you have > > > that requires sendfile? In my experience, most things will fall > > > back to a read/write loop if sendfile fails, since sendfile isn't > > > available on all systems or under all circumstances. So if you > > > apply the quick fix so that sendfile always fails, it might at > > > least get your application working again. > > > > > As stated in the PR Andrey used nginx (ports/www/nginx). But I could > > easily reproduce the bug with the stock ftpd(8) with the ftproot on > > tmpfs. > > To simplify matters further, here is the testcase I used when > testing this, which uses sendfile to send some data over a unix > domain socket. Do: > > ./server /tmpfs/data mysocket & > ./client mysocket >data.out > cmp /tmpfs/data data.out > > If things work right, data and data.out should be identical. But if > data is a file on a tmpfs, data.out contains apparently random > kernel memory contents. > Hi Nate, It'd be really nice if you extend src/tools/regression/sockets/sendfile regression test for this bug. Now it doesn't detect this case. -- Maxim Konovalov