* [PATCH] modpost: Stop grab_file() from leaking filedescriptors if fstat() fails
@ 2012-04-22 18:40 Jesper Juhl
2012-05-07 3:50 ` Rusty Russell
0 siblings, 1 reply; 2+ messages in thread
From: Jesper Juhl @ 2012-04-22 18:40 UTC (permalink / raw)
To: linux-kernel
Cc: Rusty Russell, Alessio Igor Bogani, Tony Lindgren, Ben Hutchings,
Russell King
In case the open() call succeeds but the subsequent fstat() call
fails, then we'll return without close()'ing the filedescriptor.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
---
scripts/mod/modpost.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index c4e7d15..ea0eaca 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -337,17 +337,20 @@ static void sym_update_crc(const char *name, struct module *mod,
void *grab_file(const char *filename, unsigned long *size)
{
struct stat st;
- void *map;
+ void *map = MAP_FAILED;
int fd;
fd = open(filename, O_RDONLY);
- if (fd < 0 || fstat(fd, &st) != 0)
+ if (fd < 0)
return NULL;
+ if (fstat(fd, &st))
+ goto failed;
*size = st.st_size;
map = mmap(NULL, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
- close(fd);
+failed:
+ close(fd);
if (map == MAP_FAILED)
return NULL;
return map;
--
1.7.10
--
Jesper Juhl <jj@chaosbits.net> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-05-07 5:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-22 18:40 [PATCH] modpost: Stop grab_file() from leaking filedescriptors if fstat() fails Jesper Juhl
2012-05-07 3:50 ` Rusty Russell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox