Project

General

Profile

Actions

Bug #10896

closed

Replace WRITE_ONCE macro to avoid CPAchecker hangings

Added by Ilja Zakharov over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Urgent
Category:
Environment models
Target version:
Start date:
07/30/2021
Due date:
% Done:

0%

Estimated time:
Detected in build:
git
Platform:
Published in build:

Description

The macro WRITE_ONCE is difficult for CPAchecker analysis. The verification tool does not analyze further paths with it, and it leads to missing real bugs. The macro was introduced quite long ago, but it is used more often in recent Linux kernel versions it is used more often. For example, it is used at INIT_LIST_HEAD function that leads to problems in many places consequently. Tests for inode operations for Linux 5.5 show it explicitly.

It is proposed to replace it with just WRITE_ONCE(x,y) == x = y or fix the CPAchecker to avoid the problem.

Actions

Also available in: Atom PDF