On 2019-Dec-09 08:38:01 -0600, Kyle Evans <kev...@freebsd.org> wrote:
...
>> +static vm_offset_t
>> +freebsd_parse_boot_param(struct arm64_bootparams *abp)
>> +{
>> +       vm_offset_t lastaddr = 0;
>> +       void *kmdp;
>> +#ifdef DDB
>> +       vm_offset_t ksym_start;
>> +       vm_offset_t ksym_end;
>> +#endif
>> +
>> +       if (abp->modulep == 0)
>> +               return (0);
>> +
>> +       preload_metadata = (caddr_t)(uintptr_t)(abp->modulep);
>> +       kmdp = preload_search_by_type("elf kernel");
>> +       if (kmdp == NULL)
>> +               return (0);
>> +
>> +       boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
>> +       loader_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *);
>> +       init_static_kenv(static_kenv, 0);
>
>This should read "loader_envp" instead of "static_kenv" -- as written,
>it stomps over the kenv provided by loader.

Which breaks diskless booting and NFS root.  Changing static_kenv to
loader_envp unbreaks the kernel.

-- 
Peter Jeremy

Attachment: signature.asc
Description: PGP signature

Reply via email to