| Anonymous | Login | Signup for a new account | 11-10-2008 11:17 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0001425 | [BusyBox] Other | minor | always | 07-08-07 23:18 | 02-13-08 09:25 | ||||
| Reporter | owen | View Status | public | ||||||
| Assigned To | BusyBox | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | svn | ||||||
| Summary | 0001425: switch_root steals args meant for the new init | ||||||||
| Description |
The format for a call to switch_root is: switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGUMENTS_TO_INIT] The init man page includes: -z xxx The argument to -z is ignored. You can use this to expand the command line a bit, so that it takes some more space on the stack. Init can then manipulate the command line so that ps(1) shows the current runlevel. But, the getopt32() function notices the flag at the end, and bails with a "switch_root: illegal option -- z" I'm not a C guru; is there a way to make getopt32() stop parsing at the first non-option? Or maybe at least exclude the last one? |
||||||||
| Additional Information | |||||||||
| Attached Files | |||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |