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]
Date:	Wed, 25 May 2011 22:07:20 -0600
From:	Andreas Dilger <adilger@...ger.ca>
To:	Ted Ts'o <tytso@....edu>
Cc:	Jan Kara <jack@...e.cz>, Manish Katiyar <mkatiyar@...il.com>,
	linux-ext4@...r.kernel.org
Subject: Re: [PATCH 2/3] jbd2 : Fix journal start by passing a parameter to specify if the caller can deal with ENOMEM

On May 25, 2011, at 20:22, Ted Ts'o wrote:
> On Wed, May 25, 2011 at 10:13:33AM +0200, Jan Kara wrote:
>>> 
>>>  ok.. I will do it as a separate patch.
>> Well, patch 2/3 does not really make too much sense without it (errok
>> parameter isn't used) so there's no reason to do it as a separate patch.
>> Just add it to this patch please.
> 
> Agreed; right now this whole patch series is a no-op, since errok
> isn't getting used for anything.  So fixing errok so it's passed to
> start_this_handle() seems to be more in the category of "fix the
> patch" more than anything else.
> 
> One more thing; perhaps we should be passing in a integer so we can
> pass in a flag word.  That way you don't need to have a fail_ok
> variant.  It's a lot more obvious if you have a call:
> 
> 	  handle = ext4_journal_start(inode, 1, JBD2_FAIL_OK);
> 
> What we can also do is this:
> 
> 	  handle = ext4_journal_start(inode, 1, JBD2_FAIL_OK | JBD2_TOPLEVEL);
> 
> What JBD2_TOPLEVEL means is that caller is from a top-level file
> system function, such as ext4_symlink() or ext4_chmod(), such that
> start_this_handle() can use GFP_KERNEL instead of GFP_NOFS.  GFP_NOFS
> is needed for any function that might get called by the direct reclaim
> path (i.e., the writepage() function).  But for the top-level
> symlink() or chmod() function, it's actually OK to allocate memory
> using GFP_KERNEL, since there's no potential recursion problem.

At this point, why not just pass GFP_KERNEL or GFP_NOFS directly, optionally with __GFP_NOFAIL?


Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ