OS-7089: exec_init() should be able to handle a 64bit init process

Details

Issue Type:Improvement
Priority:4 - Normal
Status:Resolved
Created at:2018-07-25T13:14:09.899Z
Updated at:2018-08-17T11:44:24.274Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-08-17T11:44:24.257Z)

Fix Versions

2018-08-30 Zolom Swamp (Release Date: 2018-08-30)

Related Issues

Description

Currently exec_init() assumes the init process is 32bit. If the init process is 64bit (as is the case when bhyve is re-exec'ed) it will truncate addresses to 32bit, leading EFAULT in copyout() of the argument vector.

Comments

Comment by Former user
Created at 2018-08-13T11:35:41.281Z

Testing: I've been running with this change for a while. I've verified the system still boots and init gets all supplied arguments. I have also verified that zones of various brands still work (smartos, LX, bhyve), so the existing 32bit support still works as it did before. The 64bit case was tested in conjunction with OS-6620 with bhyve zones, bhyve is re-exec'd as expected when a VM is rebooted from within.


Comment by Jira Bot
Created at 2018-08-17T11:42:50.088Z

illumos-joyent commit 48810110f815c605fe76c7da807dcfc9f4962485 (branch master, by Hans Rosenfeld)

OS-7089 exec_init() should be able to handle a 64bit init process
Reviewed by: John Levon <john.levon@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: John Levon <john.levon@joyent.com>