Uma vulnerabilidade no sistema de arquivos nilfs2 do kernel do Linux está relacionada a referências a ponteiros nulos. Esse problema ocorre ao usar o ponto de rastreamento “block:block dirty buffer”, o que pode causar uma referência a um ponteiro nulo ou uma falha de proteção geral quando o KASAN está habilitado. O problema surge porque o tracepoint faz referência ao membro dev t bh->b bdev->bd dev, independentemente de o cabeçalho do buffer possuir um ponteiro para uma estrutura block device. A função nilfs grab buffer() não define o dispositivo de bloco, mas o faz apenas se o buffer não estiver no estado “uptodate” para cada uma de suas funções de leitura de bloco chamadoras. No entanto, se o sinalizador uptodate estiver definido em um folio/página, e os cabeçalhos de buffer forem desanexados dele por try to free buffers(), e novos cabeçalhos de buffer forem então anexados por create empty buffers(), o sinalizador uptodate pode ser restaurado em cada buffer sem que o dispositivo de bloco seja definido como bh->b bdev, e mark buffer dirty() pode ser chamado posteriormente nesse estado, resultando no bug mencionado acima.