Skip to content
  • Nisha Gopalakrishnan's avatar
    befb5571
    BUG#16373054 - CRASH WHEN MYSQL.PROC HAS NO AVAILABLE PK · befb5571
    Nisha Gopalakrishnan authored
    Analysis
    --------
    
    'mysqld' crashes when:
    a) The primary key for the system table 'proc' is dropped and
    b) A stored procedure is invoked.
    
    Ideally it is expected that system tables are not tampered.
    When we access these tables for performing some operation,
    we do not check if a valid key information is available.
    Since the primary key is dropped, the mysqld crashes while trying
    to access the key information. This behavior is observed with
    other system tables(user, columns_priv, event and plugin)
    as well when it's primary key is dropped. This issue is addressed
    with this patch.
    
    Fix:
    ---
    Make sure that key information is available when the operations
    accessing the system tables are invoked. In such a case, we now
    report an error instead of a crash.
    
    Note: We do not validate complete key information as it could
    impact performance. Once MySQL roles is introduced, such checks
    would become unnecessary.
    befb5571
    BUG#16373054 - CRASH WHEN MYSQL.PROC HAS NO AVAILABLE PK
    Nisha Gopalakrishnan authored
    Analysis
    --------
    
    'mysqld' crashes when:
    a) The primary key for the system table 'proc' is dropped and
    b) A stored procedure is invoked.
    
    Ideally it is expected that system tables are not tampered.
    When we access these tables for performing some operation,
    we do not check if a valid key information is available.
    Since the primary key is dropped, the mysqld crashes while trying
    to access the key information. This behavior is observed with
    other system tables(user, columns_priv, event and plugin)
    as well when it's primary key is dropped. This issue is addressed
    with this patch.
    
    Fix:
    ---
    Make sure that key information is available when the operations
    accessing the system tables are invoked. In such a case, we now
    report an error instead of a crash.
    
    Note: We do not validate complete key information as it could
    impact performance. Once MySQL roles is introduced, such checks
    would become unnecessary.
Loading