Re: 2.6.23-rc7-mm1

J. Bruce Fields
2007-09-24T17:12:19Z

On Mon, Sep 24, 2007 at 09:59:29AM -0700, Andrew Morton wrote:
> On Tue, 25 Sep 2007 00:52:30 +1000 Reuben Farrelly <reuben-linuxkernel@reub.net> wrote:
>
> >
> >
> > On 24/09/2007 7:17 PM, Andrew Morton wrote:
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc7/2.6.23-rc7-mm1/
> > >
> > > - New git tree git-powerpc-galak.patch added to the -mm lineup: ppc32
> > > things, mainly (Kumar Gala <galak@gate.crashing.org>)
> >
> > I'm observing a problem with this kernel (as well as 2.6.23-rc6-mm1) which
> > manifests itself only in my Postfix/application mail.logs:
> >
> > Sep 25 00:25:40 tornado postfix/smtp[12520]: fatal: select lock: Cannot allocate
> > memory
> > Sep 25 00:25:41 tornado postfix/master[8002]: warning: process
> > /usr/lib64/postfix/smtp pid 12520 exit status 1
> >
> > This is happening frequently with processes started via 'master' (smtp, smtpd
> > and cleanup), but it does not appear to have any noticeable operational impact
> > apart from logging a lot of copies of this message.
> >
> > The corresponding code in Postfix which triggers this is (choice of 3 files in
> > src/master are all possibilities which all have much the same code)

Oog. Looks like it's the "Memory shortage can result in inconsistent
flocks state" patch--the error variable is being set in some cases when
it shouldn't be. Does the following fix it?

That's in my git tree, not in mainline. I'll fix up my copy.

And I'll spend some time today figuring out what to do about regression
testing for the posix lock, flock, and lease code.

Thanks for the bug report!

--b.

diff --git a/fs/locks.c b/fs/locks.c
index a6c5917..3e8bfd2 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -740,6 +740,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request)
new_fl = locks_alloc_lock();
if (new_fl == NULL)
goto out;
+ error = 0;
}

for_each_lock(inode, before) {