Kees Cook, do Google, tem trabalhado em como lidar melhor com bugs de overflow aritmético inesperados no código-fonte C do kernel Linux.
Ele espera ver uma maneira sistemática para o kernel Linux lidar com tais problemas de overflow/underflow/wrap-around aritmético. Entre as ideias iniciais está o envolvimento de sanitizadores baseados em compilador ou uma recente proposta de linguagem C para sobrecarga de operador sem alteração de nome.
Cook tem pensado em buscar mitigação baseada em sanitizadores e concluiu seu tópico na lista de discussão com um apelo por consenso geral sobre a abordagem. Ele acredita que qualquer solução que traga cobertura significativa exigirá mudanças extensas nos tipos do Linux.
Linus Torvalds foi rápido em compartilhar seus pensamentos sobre a proposta. Ele argumentou que o wrap-around é bem definido, comum e esperado. Ele deu exemplos de código onde o wrap-around é intencional e afirmou que qualquer ferramenta que reclame sobre wrap-around nesses casos é uma ferramenta quebrada que precisa ser ignorada.
Torvalds sugeriu que Cook limite suas reclamações de wrap-around e realmente pense em como limitá-las. Ele também sugeriu que Cook dê pequenos passos em direção a uma solução potencial. As discussões continuam, então veremos como a discussão evolui e, finalmente, que código acaba sendo proposto para lidar melhor com o código C do kernel Linux para mitigar overflows/wrap-arounds aritméticos inesperados.
Até a próxima !!
Nenhum comentário:
Postar um comentário