lkml.org 
[lkml]   [2009]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectFix for shared flat binary format in 2.6.30
This fixes a crash in 2.6.30 with shared flat binaries.  prepare_binfmt 
now requires a cred pointer to be set up, which isn't done in binfmt_flat.c.

Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Acked-by: David Howells <dhowells@redhat.com>
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
Index: fs/binfmt_flat.c
===================================================================
--- fs/binfmt_flat.c (revision 6766)
+++ fs/binfmt_flat.c (working copy)
@@ -853,14 +853,23 @@ static int load_flat_shared_library(int
/* Open the file up */
bprm.filename = buf;
bprm.file = open_exec(bprm.filename);
+ bprm.cred = NULL;
res = PTR_ERR(bprm.file);
if (IS_ERR(bprm.file))
return res;

+ bprm.cred = prepare_exec_creds();
+ if (!bprm.cred)
+ goto out;
+
res = prepare_binprm(&bprm);

if (res <= (unsigned long)-4096)
res = load_flat_file(&bprm, libs, id, NULL, NULL);
+out:
+ if (bprm.cred)
+ abort_creds (bprm.cred);
+
if (bprm.file) {
allow_write_access(bprm.file);
fput(bprm.file);
\
 
 \ /
  Last update: 2009-06-22 12:03    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site