lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1288639376.5009.16.camel@heimdal.trondhjem.org>
Date:	Mon, 01 Nov 2010 15:22:56 -0400
From:	Trond Myklebust <Trond.Myklebust@...app.com>
To:	Chuck Lever <chuck.lever@...cle.com>
Cc:	Nick Bowler <nbowler@...iptictech.com>,
	LKML Kernel <linux-kernel@...r.kernel.org>,
	"J. Bruce Fields" <bfields@...hat.com>,
	Linux NFS Mailing List <linux-nfs@...r.kernel.org>
Subject: Re: Regression, bisected: sqlite locking failure on nfs

On Mon, 2010-11-01 at 14:30 -0400, Chuck Lever wrote:
> On Nov 1, 2010, at 2:19 PM, Nick Bowler wrote:
> 
> > On 2010-11-01 14:07 -0400, Chuck Lever wrote:
> >> On Nov 1, 2010, at 1:58 PM, Nick Bowler wrote:
> >>> After installing 2.6.37-rc1, attempting to use sqlite in any capacity on
> >>> NFS gives a locking error:
> >>> 
> >>> % echo 'select * from blah;' | sqlite3 blah.sqlite
> >>> Error: near line 1: database is locked
> >>> 
> >>> % echo 'create table blargh(INT);' | sqlite3 blargh.sqlite
> >>> Error: near line 1: database is locked
> >>> 
> >>> The result is that a lot of high-profile applications which make use of
> >>> sqlite fail mysteriously.  Bisection reveals the following, and
> >>> reverting the implicated commit solves the issue:
> >> 
> >> Nick, thanks for the report.  Is 2.6.37-rc1 running on your clients or
> >> on your server?
> > 
> > Sorry for not being clear: the client is running 2.6.37-rc1.   The
> > server is running RHEL 5.5.
> > 
> >> Does anything interesting appear in the kernel log when your test case
> >> fails?
> > 
> > There are no unusual messages on the client... but I just logged into
> > the server and I see lots of messages of the following form:
> > 
> >  nfsd: request from insecure port (192.168.8.199:35766)!
> >  nfsd: request from insecure port (192.168.8.199:35766)!
> >  nfsd: request from insecure port (192.168.8.199:35766)!
> >  nfsd: request from insecure port (192.168.8.199:35766)!
> >  nfsd: request from insecure port (192.168.8.199:35766)!
> > 
> > (192.168.8.199 is the address of the failing client).  I can only assume
> > that these are a result of my recent issues, since I don't have access
> > to the system log (with timestamps) on that machine.
> 
> That's the problem this patch is supposed to prevent.  I'll investigate further.
> 

I suspect nlmclnt_lookup_host() is to blame. It appears to be the _only_
thing in the kernel that actually sets this 'srcaddr' field, and it sets
it to

const struct sockaddr source = {
	.sa_family      = AF_UNSPEC,
};

You triggered the bug by removing the line

	transport->srcaddr.ss_family = family;

from xs_create_sock().

   Trond
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ