diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-09-11 08:52:22 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-09-11 08:52:22 +0000 |
commit | 823c27fcfa927260842e562b7ebe51baf9d67273 (patch) | |
tree | ca80163a4c15505b0e677c123e9b15a9ccef6d0a | |
parent | 65ac20efeed936d73eb684a6890c0850e881585c (diff) | |
download | busybox-w32-823c27fcfa927260842e562b7ebe51baf9d67273.tar.gz busybox-w32-823c27fcfa927260842e562b7ebe51baf9d67273.tar.bz2 busybox-w32-823c27fcfa927260842e562b7ebe51baf9d67273.zip |
Update definition of struct serial_struct, per linux-2.6.0-test5,
to avoid stack corruption problems on some 64bit architectures
when sizeof(void*) != sizeof(int). Thanks to Atsushi Nemoto
for finding this problem.
git-svn-id: svn://busybox.net/trunk/busybox@7464 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | init/init.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/init/init.c b/init/init.c index 26bbc3428..8da358cb5 100644 --- a/init/init.c +++ b/init/init.c | |||
@@ -69,20 +69,25 @@ static const int VT_GETSTATE = 0x5603; /* get global vt state info */ | |||
69 | 69 | ||
70 | /* From <linux/serial.h> */ | 70 | /* From <linux/serial.h> */ |
71 | struct serial_struct { | 71 | struct serial_struct { |
72 | int type; | 72 | int type; |
73 | int line; | 73 | int line; |
74 | int port; | 74 | unsigned int port; |
75 | int irq; | 75 | int irq; |
76 | int flags; | 76 | int flags; |
77 | int xmit_fifo_size; | 77 | int xmit_fifo_size; |
78 | int custom_divisor; | 78 | int custom_divisor; |
79 | int baud_base; | 79 | int baud_base; |
80 | unsigned short close_delay; | 80 | unsigned short close_delay; |
81 | char reserved_char[2]; | 81 | char io_type; |
82 | int hub6; | 82 | char reserved_char[1]; |
83 | unsigned short closing_wait; /* time to wait before closing */ | 83 | int hub6; |
84 | unsigned short closing_wait2; /* no longer used... */ | 84 | unsigned short closing_wait; /* time to wait before closing */ |
85 | int reserved[4]; | 85 | unsigned short closing_wait2; /* no longer used... */ |
86 | unsigned char *iomem_base; | ||
87 | unsigned short iomem_reg_shift; | ||
88 | unsigned int port_high; | ||
89 | unsigned long iomap_base; /* cookie passed into ioremap */ | ||
90 | int reserved[1]; | ||
86 | }; | 91 | }; |
87 | 92 | ||
88 | 93 | ||