mm/vmstat.c: fix vmstat_update() preemption BUG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Just saw

commit c7f26ccfb2c31eb1bf810ba13d044fcf583232db
Author: Steven J. Hill <steven.hill@xxxxxxxxxx>
Date:   Wed Mar 28 16:01:09 2018 -0700

    mm/vmstat.c: fix vmstat_update() preemption BUG

    Attempting to hotplug CPUs with CONFIG_VM_EVENT_COUNTERS enabled can
    cause vmstat_update() to report a BUG due to preemption not being
    disabled around smp_processor_id().



The fix is wrong.

vmstat_update cannot be moved to a differentprocessor and thus
preemption should be off.

vmstat_update repeatedly accesses per cpu information.

vmstat_update first checks if there are counter to be updated on the
current cpu and then updates the counters. This cannot happen if the
process can be moved to a different cpu.

The patch "switches off" preemption after the check if there are changes
to the local per cpu counter.

Lets find out what changed in the callers of vmstat_update() that caused
the BUG to be triggered.






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux