home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / os / linux / 20377 < prev    next >
Encoding:
Text File  |  1992-12-14  |  1.3 KB  |  37 lines

  1. Newsgroups: comp.os.linux
  2. Path: sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!spool.mu.edu!yale.edu!qt.cs.utexas.edu!cs.utexas.edu!hermes.chpc.utexas.edu!news.utdallas.edu!corpgate!crchh327!crchh7b9!minyard
  3. From: minyard@crchh7b9 (Corey Minyard)
  4. Subject: 0.99 general protection error
  5. Message-ID: <1992Dec14.181405.2300@bnr.ca>
  6. Sender: news@bnr.ca (News on crchh327)
  7. Nntp-Posting-Host: crchh7b9
  8. Organization: Bell-Northern Research, Richardson, Tx
  9. X-Newsreader: TIN [version 1.1 PL8]
  10. Date: Mon, 14 Dec 1992 18:14:05 GMT
  11. Lines: 24
  12.  
  13. The default 0.99 kernel gave me a general protection at startup.  The kernel
  14. was crashing in wake_up().  After some creative debugging (I added a stack
  15. trace-back to the exception handler) I found the bug was coming from iput().
  16. It turns out that the inode_wait variable was not being initialized to NULL.
  17.  
  18. Make the following change the following in fs/inode.c to fix the problem.
  19. This is not really a diff, but you should get the idea:
  20. ***
  21.   static struct inode inode_table[NR_INODE];
  22.   static struct inode * last_inode = inode_table;
  23. ! static struct wait_queue * inode_wait;
  24.   
  25.   void inode_init(void)
  26.   {
  27. ***
  28.   static struct inode inode_table[NR_INODE];
  29.   static struct inode * last_inode = inode_table;
  30. ! static struct wait_queue * inode_wait = NULL;
  31.   
  32.   void inode_init(void)
  33. ***
  34.  
  35. Corey
  36. minyard@bnr.ca
  37.