|
@@ -26,10 +26,12 @@ static void __init free(void *where)
|
|
|
|
|
|
/* link hash */
|
|
/* link hash */
|
|
|
|
|
|
|
|
+#define N_ALIGN(len) ((((len) + 1) & ~3) + 2)
|
|
|
|
+
|
|
static __initdata struct hash {
|
|
static __initdata struct hash {
|
|
int ino, minor, major;
|
|
int ino, minor, major;
|
|
struct hash *next;
|
|
struct hash *next;
|
|
- char *name;
|
|
|
|
|
|
+ char name[N_ALIGN(PATH_MAX)];
|
|
} *head[32];
|
|
} *head[32];
|
|
|
|
|
|
static inline int hash(int major, int minor, int ino)
|
|
static inline int hash(int major, int minor, int ino)
|
|
@@ -57,7 +59,7 @@ static char __init *find_link(int major, int minor, int ino, char *name)
|
|
q->ino = ino;
|
|
q->ino = ino;
|
|
q->minor = minor;
|
|
q->minor = minor;
|
|
q->major = major;
|
|
q->major = major;
|
|
- q->name = name;
|
|
|
|
|
|
+ strcpy(q->name, name);
|
|
q->next = NULL;
|
|
q->next = NULL;
|
|
*p = q;
|
|
*p = q;
|
|
return NULL;
|
|
return NULL;
|
|
@@ -133,8 +135,6 @@ static inline void eat(unsigned n)
|
|
count -= n;
|
|
count -= n;
|
|
}
|
|
}
|
|
|
|
|
|
-#define N_ALIGN(len) ((((len) + 1) & ~3) + 2)
|
|
|
|
-
|
|
|
|
static __initdata char *collected;
|
|
static __initdata char *collected;
|
|
static __initdata int remains;
|
|
static __initdata int remains;
|
|
static __initdata char *collect;
|
|
static __initdata char *collect;
|