Issue Type: | Improvement |
---|---|
Priority: | 4 - Normal |
Status: | Resolved |
Created at: | 2018-07-25T13:14:09.899Z |
Updated at: | 2018-08-17T11:44:24.274Z |
Created by: | Former user |
---|---|
Reported by: | Former user |
Assigned to: | Former user |
Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-08-17T11:44:24.257Z)
2018-08-30 Zolom Swamp (Release Date: 2018-08-30)
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.
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.
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>