Skip to contentSkip to conversation

module and param

GIT PULL Rusty Russell 2 participants 5 messages Oct 25, 2011 – Oct 27, 2011

lore
Share & tools
lore
#0 lore raw

(Via github, returning to kernel.org is on my TODO list...)

The following changes since commit 1bf1aacedcda23c75e70fa3394e1caa6d4b5ee49:

Merge branch 'samsung-fixes-4' of git://github.com/kgene/linux-samsung (2011-10-23 10:44:40 +0300)

are available in the git repository at:

git://github.com/rustyrussell/linux.git master

Jiri Kosina (1):
kmod: prevent kmod_loop_msg overflow in __request_module()

Michal Schmidt (1):
params: make dashes and underscores in parameter names truly equal

 include/linux/moduleparam.h |   20 ++++++++++++++++++++
 init/main.c                 |    4 ++--
 kernel/kmod.c               |    4 +++-
 kernel/params.c             |   21 ++++++++++++++-------
 4 files changed, 39 insertions(+), 10 deletions(-)

commit ea1c71de56fb2799da9d6f26778c7ddf5f42c4a3

Author: Jiri Kosina <[email protected]>
Date:   Tue Oct 25 11:53:31 2011 +1030

kmod: prevent kmod_loop_msg overflow in __request_module()

Due to post-increment in condition of kmod_loop_msg in __request_module(), the system log can be spammed by much more than 5 instances of the 'runaway loop' message if the number of events triggering it makes the kmod_loop_msg to overflow.

Fix that by making sure we never increment it past the threshold.

 kernel/kmod.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 14377d658e711ef2301db023370aeaa48a466401

Author: Michal Schmidt <[email protected]>
Date:   Mon Oct 10 00:03:37 2011 +0200

params: make dashes and underscores in parameter names truly equal

The user may use "foo-bar" for a kernel parameter defined as "foo_bar". Make sure it works the other way around too.

Apply the equality of dashes and underscores on early_params and __setup params as well.

The example given in Documentation/kernel-parameters.txt indicates that this is the intended behaviour.

With the patch the kernel accepts "log-buf-len=1M" as expected.
https://bugzilla.redhat.com/show_bug.cgi?id=744545

 include/linux/moduleparam.h |   20 ++++++++++++++++++++
 init/main.c                 |    4 ++--
 kernel/params.c             |   21 ++++++++++++++-------
 3 files changed, 36 insertions(+), 9 deletions(-)
#1 lore raw

[ Cut-and-paste reply: mentally just "sed s/9p/module/g" ]

So for the merge window, I *really* want the development trees I pull from explicitly verified some way.

Now, the p9 patches seem to be small enough, and not core enough, for me to care deeply, but I really *really* want to not see unsigned github things.

Putting a signed tag on there somewhere that actually signs the top commit *and* mentions the repository and branch it is on (ie github) is not wonderfully convenient, but it's at least relatively straightforward (do I have a gpg key I can trust?).

Or using a host that I can trust is being maintained by you guys (or some trusted third party like kernel.org).

(Also, I'm only seeing about half the patches mentioned in linux-next. Hmm?)

Please? Not pulled.

Linus

Quoted 68 lines · Rusty Russell

(Via github, returning to kernel.org is on my TODO list...)

The following changes since commit 1bf1aacedcda23c75e70fa3394e1caa6d4b5ee49:

 Merge branch 'samsung-fixes-4' of git://github.com/kgene/linux-samsung (2011-10-23 10:44:40 +0300)

are available in the git repository at:

 git://github.com/rustyrussell/linux.git master

Jiri Kosina (1):
     kmod: prevent kmod_loop_msg overflow in __request_module()

Michal Schmidt (1):
     params: make dashes and underscores in parameter names truly equal

 include/linux/moduleparam.h |   20 ++++++++++++++++++++ init/main.c                 |    4 ++-- kernel/kmod.c               |    4 +++- kernel/params.c             |   21 ++++++++++++++-------

 4 files changed, 39 insertions(+), 10 deletions(-)

commit ea1c71de56fb2799da9d6f26778c7ddf5f42c4a3
Author: Jiri Kosina <[email protected]>
Date:   Tue Oct 25 11:53:31 2011 +1030

   kmod: prevent kmod_loop_msg overflow in __request_module()

   Due to post-increment in condition of kmod_loop_msg in __request_module(), the system log can be spammed by much more than 5 instances of the 'runaway loop' message if the number of events triggering it makes the kmod_loop_msg to overflow.

   Fix that by making sure we never increment it past the threshold.

 kernel/kmod.c |    4 +++-

 1 files changed, 3 insertions(+), 1 deletions(-)

commit 14377d658e711ef2301db023370aeaa48a466401
Author: Michal Schmidt <[email protected]>
Date:   Mon Oct 10 00:03:37 2011 +0200

   params: make dashes and underscores in parameter names truly equal

   The user may use "foo-bar" for a kernel parameter defined as "foo_bar". Make sure it works the other way around too.

   Apply the equality of dashes and underscores on early_params and __setup params as well.

   The example given in Documentation/kernel-parameters.txt indicates that this is the intended behaviour.

   With the patch the kernel accepts "log-buf-len=1M" as expected.
   https://bugzilla.redhat.com/show_bug.cgi?id=744545

 include/linux/moduleparam.h |   20 ++++++++++++++++++++ init/main.c                 |    4 ++-- kernel/params.c             |   21 ++++++++++++++-------

 3 files changed, 36 insertions(+), 9 deletions(-)
#2 lore raw
Quoted 9 lines · Linus Torvalds

[ Cut-and-paste reply: mentally just "sed s/9p/module/g" ]

So for the merge window, I *really* want the development trees I pull from explicitly verified some way.

Putting a signed tag on there somewhere that actually signs the top commit *and* mentions the repository and branch it is on (ie github) is not wonderfully convenient, but it's at least relatively straightforward (do I have a gpg key I can trust?).

I'm not sure if this paranoia is disproportionate or overdue. Hope I did it right (D1ADB8F1, signed by some other OzLabs folks).

Personally I would have thought that asking people to patch a gpg fingerprint into MAINTAINERS is more kernely than web of trust. I'll notice if someone else tries to patch their own in there.

Cheers,
Rusty.

To [email protected]:rustyrussell/linux.git
+ 694136c...b1e4d20 master -> master (forced update)
* [new tag] [email protected] -> [email protected]
The following changes since commit c3b92c8787367a8bb53d57d9789b558f1295cc96:

Linux 3.1 (2011-10-24 09:10:05 +0200)

are available in the git repository at:
git://github.com/rustyrussell/linux.git master

Jiri Kosina (1):
kmod: prevent kmod_loop_msg overflow in __request_module()

Michal Schmidt (1):
params: make dashes and underscores in parameter names truly equal

 include/linux/moduleparam.h |   20 ++++++++++++++++++++
 init/main.c                 |    4 ++--
 kernel/kmod.c               |    4 +++-
 kernel/params.c             |   21 ++++++++++++++-------
 4 files changed, 39 insertions(+), 10 deletions(-)
#3 lore raw
Quoted 2 lines · Rusty Russell

 + 694136c...b1e4d20 master -> master (forced update)
 * [new tag]         [email protected] -> [email protected]

That tag doesn't have any signature on it at all, it's just a plain unsigned tag (ie just points to the commit) and thus useless.

Oh well. The commits look fine, but it would be much more convenient if I could just trust the source.

Linus

author Acked-by
#4 lore raw
Quoted 6 lines · Linus Torvalds
Quoted 2 lines · Rusty Russell

 + 694136c...b1e4d20 master -> master (forced update)
 * [new tag]         [email protected] -> [email protected]

That tag doesn't have any signature on it at all, it's just a plain unsigned tag (ie just points to the commit) and thus useless.

Weird, my script seems to work now. If not please complain and I'll find a git expert: I have virtio patches after this, and final module one.

The following changes since commit 138c4ae9cfda8fdcf9e137457853b09ef8cf8f77:

Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux (2011-10-26 21:46:18 +0200)

are available in the git repository at:

git://github.com/rustyrussell/linux.git master

Michal Hocko (1):
lguest: move process freezing before pending signals check

Rusty Russell (2):
lguest: Allow running under paravirt-enabled KVM.
lguest: don't allow KVM-detection cpuid.

 arch/x86/lguest/boot.c |   10 ++++++++++
 drivers/lguest/core.c  |   16 ++++++++--------
 2 files changed, 18 insertions(+), 8 deletions(-)

rusty@rusty-x201:~/devel/kernel/linux (master)$ git show [email protected] | cat tag [email protected]

Tagger: Rusty Russell <[email protected]>
Date:   Thu Oct 27 10:56:18 2011 +1030

Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAABAgAGBQJOqKUqAAoJENkgDmzRrbjxXvYP/0fFsfCyqjMsByTiExMMOJFx Pf3TNUbyiK5ghIMG/zclKP46jJUn1q2LqgskBgtYY07zonNrG4qAowm0V/o6xDi3 Fc0dSGaXvgt5yIJSB/oyrYXOATHw/GESsiz2YQc5V9rPL/DxKcLescfcAPYizwRk 5zeo5Dhf4aJ8qbZtuvuRQv1fPaYjGTQNez2a/OOJ/6ROL/sg6xE6sP7mwtL3Ds4g ZewBl8mDGVwxRKEYCSrUcQ+h43Uc2pOaLXVEdYVMlfRX7flkklrT+r3KVt9B4+bp XaHNS9/l3Ntd0JSJ188IOK3njfW0BzjuAFHmPj2ttZU38sNb00ThHHbxl0rImDeQ DtlTlPzUg2rihLXJeoDznttx3VaGeKdURoK0S3OyexpuJUE4xJ3BgA3PuZGDFYUd aGCQ8bvp3PIgfjkMMI1slF6WSYKEQBumt0CgEYopzLy/A0CuEqqW/9NNcATOykTa vqLSMIdbZW3zimTwZr4sPIDjjP0g71QcPBMI6ikmgKCRpoysSA3s/xw/MwxBcsXw NRSloQULxe99U6/NGd3/++cx145QCj4F39a9L2xv5vISf6I1aeR1IwJ4+EsYP7eh cEDTCdcC7L8bw8XLCphDcPH3I04CDOca463DuItFfCwWFERLP44oC+bLarU/D6Pi j5S/HRwo3cBL1WX02w7L
=IxKg
-----END PGP SIGNATURE-----

commit 0acf00014bcfd71090c3b0d43c98e970108064e4

Author: Michal Hocko <[email protected]>
Date:   Tue Sep 27 08:56:03 2011 +0200

lguest: move process freezing before pending signals check

run_guest tries to freeze the current process after it has handled pending interrupts and before it calls lguest_arch_run_guest. This doesn't work nicely if the task has been killed while being frozen and when we want to handle that signal as soon as possible. Let's move try_to_freeze before we check for pending signal so that we can get out of the loop as soon as possible.

drivers/lguest/core.c +7 -7
index 5c13e93..b5fdcb7 100644
@@ -232,6 +232,13 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user)
 			}
 		}
 
+		/*
+		 * All long-lived kernel loops need to check with this horrible
+		 * thing called the freezer.  If the Host is trying to suspend,
+		 * it stops us.
+		 */
+		try_to_freeze();
+
 		/* Check for signals */
 		if (signal_pending(current))
 			return -ERESTARTSYS;
@@ -246,13 +253,6 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user)
 			try_deliver_interrupt(cpu, irq, more);
 
 		/*
-		 * All long-lived kernel loops need to check with this horrible
-		 * thing called the freezer.  If the Host is trying to suspend,
-		 * it stops us.
-		 */
-		try_to_freeze();
-
-		/*
 		 * Just make absolutely sure the Guest is still alive.  One of
 		 * those hypercalls could have been fatal, for example.
 		 */

rusty@rusty-x201:~/devel/kernel/linux (master)$