From: Oleg Drokin <green@linuxhacker.ru>
To: jdike@karaya.com, umka@namesys.com,
user-mode-linux-devel@lists.sourceforge.net, sikkh@wp.pl
Subject: [uml-devel] [PATCH] Fix for annoying problem with hostfs readdir problems.
Date: Fri, 16 Apr 2004 00:03:19 +0300 [thread overview]
Message-ID: <20040415210318.GA205486@linuxhacker.ru> (raw)
[-- Attachment #1: Type: text/plain, Size: 364 bytes --]
Hello!
So the annoying problem with readdir not working on hostfs (on 2.6 host
kernel only for me) was finally hunted to memory allocation
problem during opendir.
The patch below is a working and tested attempt at fixing it.
It is againt 2.4.20-something, but is pretty straightforward and
probably should apply everywhere else.
Bye,
Oleg
[-- Attachment #2: malloc_fix.diff --]
[-- Type: text/plain, Size: 1510 bytes --]
--- uml-2.4/arch/um/kernel/process_kern.c.orig 2004-04-15 23:26:49.000000000 +0300
+++ uml-2.4/arch/um/kernel/process_kern.c 2004-04-15 23:49:38.312250576 +0300
@@ -16,6 +16,7 @@
#include "linux/module.h"
#include "linux/init.h"
#include "linux/capability.h"
+#include "linux/vmalloc.h"
#include "asm/unistd.h"
#include "asm/mman.h"
#include "asm/segment.h"
@@ -279,6 +280,11 @@ void *um_kmalloc(int size)
return(kmalloc(size, GFP_KERNEL));
}
+void *um_vmalloc(int size)
+{
+ return(vmalloc(size));
+}
+
void *um_kmalloc_atomic(int size)
{
return(kmalloc(size, GFP_ATOMIC));
--- uml-2.4/arch/um/main.c.orig 2004-04-15 23:58:28.786606216 +0300
+++ uml-2.4/arch/um/main.c 2004-04-15 23:53:32.706617216 +0300
@@ -161,7 +161,7 @@ extern void *__real_malloc(int);
void *__wrap_malloc(int size)
{
if(CAN_KMALLOC())
- return(um_kmalloc(size));
+ return(um_vmalloc(size));
else
return(__real_malloc(size));
}
@@ -179,7 +179,7 @@ extern void __real_free(void *);
void __wrap_free(void *ptr)
{
- if(CAN_KMALLOC()) kfree(ptr);
+ if(CAN_KMALLOC()) vfree(ptr);
else __real_free(ptr);
}
--- uml-2.4/arch/um/include/user.h.orig 2004-04-15 23:41:57.000000000 +0300
+++ uml-2.4/arch/um/include/user.h 2004-04-15 23:41:34.000000000 +0300
@@ -12,6 +12,7 @@ extern void schedule(void);
extern void *um_kmalloc(int size);
extern void *um_kmalloc_atomic(int size);
extern void kfree(void *ptr);
+extern void vfree(void *ptr);
extern int in_aton(char *str);
extern int open_gdb_chan(void);
next reply other threads:[~2004-04-15 21:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-15 21:03 Oleg Drokin [this message]
2004-04-15 21:46 ` [uml-devel] Re: [PATCH] Fix for annoying problem with hostfs readdir problems Oleg Drokin
2004-04-18 15:26 ` BlaisorBlade
2004-04-18 22:26 ` Oleg Drokin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040415210318.GA205486@linuxhacker.ru \
--to=green@linuxhacker.ru \
--cc=jdike@karaya.com \
--cc=sikkh@wp.pl \
--cc=umka@namesys.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.