On 2022-10-24, Doug Anderson <dianders@xxxxxxxxxxxx> wrote: > It actually only holds console_list_lock() even at the end of the > series. Still, it seems weird that we're declaring the `data_race` on > CON_ENABLED but not CON_BOOT ? You are correct that it is not a data race (because of the console_list_lock being held.) Petr has suggested adding a separate function for non-data-race callers. For v3 I will do this and use it here, probably called console_is_enabled_locked(). Usually CON_ENABLED is the only flag that is interesting during normal operation. The kgdboc case is an exception. I thought about if we should have console_flags() and console_flags_locked() to be able to handle general con->flags access. console_flags() would be marked with data_race(), console_flags_locked() would use lockdep to ensure the console_list_lock is held. But I would also like to have the _is_enabled special variant because how we check if a console is enabled will be different for the atomic consoles. I would like to hide those details in the _is_enabled implementation. John Ogness