Skip to content

Page table creation clobbers provided command line #10

@josephlr

Description

@josephlr

Both cloud-hypervisor and firecracker support passing a command line argument to the image they are launching. The firmware code in bzimage.rs tries to create a command line that consists of:

  • The hypervisor-provided command line, followed by
  • The command line from the on-disk data

However, the provided command line is often at address 0x20000 (cloud-hypervisor example and firecracker example). This causes a problem when running setup_pagetables() which writes a single PML3 table at 0xa000 but writes 64 PML2 tables starting at 0xb000, this will overwrite the command line with garbage, causing either:

  • Nothing to be prepended to the command line when it should
  • Junk to be prepended to the commandline

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions