Skip to content

Invalid logic in s2n tls proof #2169

Open
@sauclovian-g

Description

@sauclovian-g

handshake_io_lowlevel.saw in the s2n tls proofs contains the following:

// Ghost state that represents the number of times the connection write socket
// has been corked/uncorked. 
corked <- crucible_declare_ghost_state "corked";
crucible_ghost_value corked {{ 0 : [2] }};

This is invalid because crucible_ghost_value is an action in the LLVMSetup monad and it's being attempted in the TopLevel monad.

This was silently accepted and ignored by SAW until now (see #2162); it now generates a warning. This will eventually become an error, and it will need to be fixed because (in addition to being generic tech debt) it will break the CI runs.

(There also might be other similar issues later in the build.)

This is a blocker for #2167.

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech debtIssues that document or involve technical debttest assetsIssues involving test programs or other test assetstooling: CIIssues involving CI/CD scripts or processestype: bugIssues reporting bugs or unexpected/unwanted behavior

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions