Project

General

Profile

Bug #107

kernel expects 32-bit init

Added by Igor Pashev over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
2013-03-21
Due date:
% Done:

0%

Estimated time:

Description

kernel expects 32-bit init [1]

Shit happens if init cannot find /etc/ioctl.syscon, see the screenshot.

If /etc/ioctl.syscon is present, bomb is not activated.

[1] http://cgit.osdyson.org/illumos-gate.git/tree/usr/src/uts/common/os/main.c#n311

/*
 * This routine does all of the common setup for invoking init; global
 * and non-global zones employ this routine for the functionality which is
 * in common.
 *
 * This program (init, presumably) must be a 32-bit process.
 */
int
start_init_common()
{
    proc_t *p = curproc;
    ASSERT_STACK_ALIGNED();
    p->p_zone->zone_proc_initpid = p->p_pid;

    p->p_cstime = p->p_stime = p->p_cutime = p->p_utime = 0;
    p->p_usrstack = (caddr_t)USRSTACK32;
    p->p_model = DATAMODEL_ILP32;
    p->p_stkprot = PROT_ZFOD & ~PROT_EXEC;
    p->p_datprot = PROT_ZFOD & ~PROT_EXEC;
    p->p_stk_ctl = INT32_MAX;

    p->p_as = as_alloc();
    p->p_as->a_proc = p;
    p->p_as->a_userlimit = (caddr_t)USERLIMIT32;
    (void) hat_setup(p->p_as->a_hat, HAT_INIT);

    init_core();

    init_mstate(curthread, LMS_SYSTEM);
    return (exec_init(p->p_zone->zone_initname, p->p_zone->zone_bootargs));
}


Files

10.png (3.98 KB) 10.png Igor Pashev, 2013-03-21 06:35 PM

Also available in: Atom PDF