public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Increase the default RLIMIT_MEMLOCK
@ 2008-04-27 19:26 Josselin Mouette
  2008-05-02  0:50 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Josselin Mouette @ 2008-04-27 19:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm


[-- Attachment #1.1: Type: text/plain, Size: 814 bytes --]

Hi,

Currently, the default value for RLIMIT_MEMLOCK (defined in
include/linux/resource.h) is 32 KiB, because this value is enough for
GnuPG.

However this value is not enough for gnome-keyring-daemon, which will
store both SSH and GnuPG keys, plus user passwords for various kinds of
resources. Upstream authors recommend to provide a limit of at least 256
KiB for RLIMIT_MEMLOCK for the keys to remain securely in memory.

Given the amount of memory in current machines, I think 256 KiB is still
a very reasonable value. What do you think of increasing this default
value in the kernel?

Cheers,
-- 
 .''`.
: :' :      We are debian.org. Lower your prices, surrender your code.
`. `'       We will add your hardware and software distinctiveness to
  `-        our own. Resistance is futile.

[-- Attachment #1.2: Type: text/x-patch, Size: 668 bytes --]

--- include/linux/resource.h.orig	2008-04-27 21:15:47.000000000 +0200
+++ include/linux/resource.h	2008-04-27 21:23:06.000000000 +0200
@@ -58,10 +58,11 @@
 #define _STK_LIM	(8*1024*1024)
 
 /*
- * GPG wants 32kB of mlocked memory, to make sure pass phrases
- * and other sensitive information are never written to disk.
+ * The biggest widespread mlocked memory consumer is 
+ * gnome-keyring-manager. It needs 256kB to make sure SSH/GPG 
+ * passphrases and network passwords are never written to disk.
  */
-#define MLOCK_LIMIT	(8 * PAGE_SIZE)
+#define MLOCK_LIMIT	(64 * PAGE_SIZE)
 
 /*
  * Due to binary compatibility, the actual resource numbers

[-- Attachment #2: Ceci est une partie de message numériquement signée --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Increase the default RLIMIT_MEMLOCK
  2008-04-27 19:26 [PATCH] Increase the default RLIMIT_MEMLOCK Josselin Mouette
@ 2008-05-02  0:50 ` Andrew Morton
  2008-05-02  1:12   ` Chris Wright
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2008-05-02  0:50 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: linux-kernel

On Sun, 27 Apr 2008 21:26:27 +0200
Josselin Mouette <joss@debian.org> wrote:

> Currently, the default value for RLIMIT_MEMLOCK (defined in
> include/linux/resource.h) is 32 KiB, because this value is enough for
> GnuPG.
> 
> However this value is not enough for gnome-keyring-daemon, which will
> store both SSH and GnuPG keys, plus user passwords for various kinds of
> resources. Upstream authors recommend to provide a limit of at least 256
> KiB for RLIMIT_MEMLOCK for the keys to remain securely in memory.
> 
> Given the amount of memory in current machines, I think 256 KiB is still
> a very reasonable value. What do you think of increasing this default
> value in the kernel?
> 
> Cheers,
> -- 
>  .''`.
> : :' :      We are debian.org. Lower your prices, surrender your code.
> `. `'       We will add your hardware and software distinctiveness to
>   `-        our own. Resistance is futile.
> 
> 
> [linux_mlock_256k.patch  text/x-patch (668B)]
> --- include/linux/resource.h.orig	2008-04-27 21:15:47.000000000 +0200
> +++ include/linux/resource.h	2008-04-27 21:23:06.000000000 +0200
> @@ -58,10 +58,11 @@
>  #define _STK_LIM	(8*1024*1024)
>  
>  /*
> - * GPG wants 32kB of mlocked memory, to make sure pass phrases
> - * and other sensitive information are never written to disk.
> + * The biggest widespread mlocked memory consumer is 
> + * gnome-keyring-manager. It needs 256kB to make sure SSH/GPG 
> + * passphrases and network passwords are never written to disk.
>   */
> -#define MLOCK_LIMIT	(8 * PAGE_SIZE)
> +#define MLOCK_LIMIT	(64 * PAGE_SIZE)

gee, it seems rather arbitrary.  Perhaps we should have set it to zero on
day one to _force_ distributors to set an appropriate RLIMIT_MEMLOCK in
init.

We can do this of course, but does it actually help anything?  Perhaps it's
actually a bad thing, permitting userspace developers to rely upon kernel
defaults rather than setting things they way they should be set?


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Increase the default RLIMIT_MEMLOCK
  2008-05-02  0:50 ` Andrew Morton
@ 2008-05-02  1:12   ` Chris Wright
  0 siblings, 0 replies; 3+ messages in thread
From: Chris Wright @ 2008-05-02  1:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Josselin Mouette, linux-kernel

* Andrew Morton (akpm@linux-foundation.org) wrote:
> > --- include/linux/resource.h.orig	2008-04-27 21:15:47.000000000 +0200
> > +++ include/linux/resource.h	2008-04-27 21:23:06.000000000 +0200
> > @@ -58,10 +58,11 @@
> >  #define _STK_LIM	(8*1024*1024)
> >  
> >  /*
> > - * GPG wants 32kB of mlocked memory, to make sure pass phrases
> > - * and other sensitive information are never written to disk.
> > + * The biggest widespread mlocked memory consumer is 
> > + * gnome-keyring-manager. It needs 256kB to make sure SSH/GPG 
> > + * passphrases and network passwords are never written to disk.
> >   */
> > -#define MLOCK_LIMIT	(8 * PAGE_SIZE)
> > +#define MLOCK_LIMIT	(64 * PAGE_SIZE)
> 
> gee, it seems rather arbitrary.  Perhaps we should have set it to zero on
> day one to _force_ distributors to set an appropriate RLIMIT_MEMLOCK in
> init.

Yes, it is fairly arbitrary.  The motivation was gpg, but in fact when
the patchset started gpg had already changed from 1 page to 8 pages.

http://thread.gmane.org/gmane.linux.kernel/222613/focus=222681

> We can do this of course, but does it actually help anything?  Perhaps it's
> actually a bad thing, permitting userspace developers to rely upon kernel
> defaults rather than setting things they way they should be set?

We don't want to keep changing at whim of random apps, agreed.  Feels
like a distro issue, since kernel can't even know what apps might run,
and using 8 pages was just a courtesy hint to distros.

thanks,
-chris

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-05-02  1:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-27 19:26 [PATCH] Increase the default RLIMIT_MEMLOCK Josselin Mouette
2008-05-02  0:50 ` Andrew Morton
2008-05-02  1:12   ` Chris Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox