• Required
    • ShadStkLandPads
    • No
    • ISA
    • Zicfiss, Zicfilp
    • Freeze Approved
    • Completed
    • 4

      This document is capturing discussions at the Shadow Stacks and Landing Pads TG and attempts to document the baseline. This is not official specification and everything in this document may change. Control-flow Integrity (CFI) provides CPU instruction set architecture (ISA) capabilities to defend against Return-Oriented Programming (ROP) and Call/Jump-Oriented Programming (COP/JOP) style control-flow subversion attacks.
      To enforce backward edge control-flow integrity, the extension introduces a shadow stack. To enforce forward edge control-flow integrity, the extension introduces labeled landing pad instructions.

      Obsolete Documentation:

      Plan: https://docs.google.com/document/d/1oDMWrCTGBmXuDUEYRgfs-ndqtOzfzkYPwVZ3AOxZy90/edit

      Acceptance Criteria: https://docs.google.com/spreadsheets/d/1DfOtcR45YhnTlW4pmYmBnDQhqh38KUzDZA3Mhfnlao8/edit#gid=1751770475

      Groups.io
      https://lists.riscv.org/g/tech-unprivileged 
      https://lists.riscv.org/g/tech-privileged

        1.
        [Inception] - Infrastructure Setup Request Specification Acceptance Criteria Done Unassigned 10/Jul/23 0
        2.
        [Plan] - Develop Specification Plan Planning Acceptance Criteria Done Unassigned 17/Jul/23 0
        3.
        [Plan] - Governing Committee Approval Approval Approved Rafael Sene 10/Jul/23 0
        4.
        [Plan] - Schedule Plan Presentation to Chairs Specification Acceptance Criteria Done Unassigned 10/Jul/23 0
        5.
        [Plan] - Present Plan to Chairs Specification Acceptance Criteria Done Unassigned 10/Jul/23 0
        6.
        [Plan] - Chairs Approval Approval Approved Rafael Sene 10/Jul/23 0
        7.
        [Plan] - Notify TSC Specification Acceptance Criteria Done Unassigned 10/Jul/23 0
        8.
        [Development] - Develop Specification Specification Acceptance Criteria Done Unassigned 21/Apr/23 0
        9.
        [Development] - Governing Committee Specification Stabilization Approval Approval Approved Rafael Sene 10/Jul/23 0
        10.
        [Freeze] - Request Internal Review Freeze Acceptance Criteria Done Unassigned 17/Jul/23 1
        11.
        [Freeze] - Complete Documentation of New Instructions, State Changes, and ISA Alterations Freeze Acceptance Criteria Done Unassigned 29/Sep/23 2
        12.
        [Freeze] - Develop Opcode Support Freeze Acceptance Criteria Done Unassigned 29/Sep/23 2
        13.
        [Freeze] - Implement Simulator Support Freeze Acceptance Criteria Done Unassigned 29/Sep/23 1
        14.
        [Freeze] - Implement psABI Freeze Acceptance Criteria Done Unassigned 29/Sep/23 1
        15.
        [Freeze] - Develop Support for GCC Freeze Acceptance Criteria Done Unassigned 29/Sep/23 1
        16.
        [Freeze] - Develop RISC-V Tests Freeze Acceptance Criteria Done Unassigned 29/Sep/23 2
        17.
        [Freeze] - Perform Input Testing Freeze Acceptance Criteria Done Unassigned 29/Sep/23 2
        18.
        [Freeze] - Add Support into the Sail Golden Model Freeze Acceptance Criteria Done Unassigned 29/Sep/23 2
        19.
        [Freeze] - Create Proof of Concept Freeze Acceptance Criteria Done Unassigned 29/Sep/23 6
        20.
        [Freeze] - ARC Review (required) ARC Review AR Approved Rafael Sene 29/Sep/23 11
        21.
        [Freeze] - Ensure Compliance with RISC-V Specification Policies Approval Approved Jeff Scheel 19/Jan/24 9
        22.
        [Freeze] - Request Signoffs from Committee Chair Approval Approved Jeff Scheel 26/Jan/24 4
        23.
        [Freeze] - Request Signoff from RISC-V CTO Approval Approved Jeff Scheel 29/Jan/24 1
        24.
        [Ratification-Ready] - Public Review Public Review Public Review Done Unassigned 27/Apr/24 3
        25.
        [Ratification-Ready] - Resolve Freeze Waivers Ratification-Ready Acceptance Criteria Not Required for Ratification-Ready Unassigned 28/Mar/24 1
        26.
        [Ratification-Ready] - Document Complete Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        27.
        [Ratification-Ready] - Unified Discovery Ratification-Ready Acceptance Criteria Ratification-Ready Waiver Granted Unassigned 28/Mar/24 2
        28.
        [Ratification-Ready] - Regression Testing Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        29.
        [Ratification-Ready] - Architectural Compatibility Tests Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        30.
        [Ratification-Ready] - Industry Standard Tests Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        31.
        [Ratification-Ready] - OS Enablement Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        32.
        [Ratification-Ready] - GitHub Structure Ratification-Ready Acceptance Criteria Done Jeff Scheel 28/Mar/24 1
        33.
        [Ratification-Ready] - Profiles Ratification-Ready Acceptance Criteria Done Unassigned 28/Mar/24 1
        34.
        [Ratification-Ready] - Raise Pull Request against the ISA main repository Ratification-Ready Acceptance Criteria Done Unassigned   1
        35.
        [Ratification-Ready] - AR Review (required for significant changes) ARC Review AR Review Not Required Rafael Sene 05/Apr/24 1
        36.
        [Ratification-Ready] - Ensure Compliance with RISC-V Specification Policies Approval Approval In Progress Jeff Scheel 28/Mar/24 2
        37.
        [Ratification-Ready] - Committee Chair Signoffs Approval Not Started Jeff Scheel 28/Mar/24 1
        38.
        [Ratification-Ready] - CTO Signoff Approval Not Started Jeff Scheel 28/Mar/24 0
        39.
        [Ratification-Ready] - TSC Approval Approval Not Started Jeff Scheel 01/Apr/24 0
        40.
        [Ratification-Ready] - Schedule BoD Review Specification Acceptance Criteria Not Started Rafael Sene 30/May/24 0
        41.
        [Ratification-Ready] - BoD Approval BoD Approval Not Started Rafael Sene 30/May/24 0

            Unassigned Unassigned
            rsene Rafael Sene
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: