Patch "virtio_balloon: prevent uninitialized variable use" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
virtio_balloon: prevent uninitialized variable use
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
virtio_balloon-prevent-uninitialized-variable-use.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Dec 21 09:02:40 CET 2017
From: Arnd Bergmann <[email protected]>
Date: Tue, 28 Mar 2017 18:46:59 +0200
Subject: virtio_balloon: prevent uninitialized variable use
From: Arnd Bergmann <[email protected]>
[ Upstream commit f0bb2d50dfcc519f06f901aac88502be6ff1df2c ]
The latest gcc-7.0.1 snapshot reports a new warning:
virtio/virtio_balloon.c: In function 'update_balloon_stats':virtio/virtio_balloon.c:258:26: error: 'events[2]' is used uninitialized in this function [-Werror=uninitialized] virtio/virtio_balloon.c:260:26: error: 'events[3]' is used uninitialized in this function [-Werror=uninitialized] virtio/virtio_balloon.c:261:56: error: 'events[18]' is used uninitialized in this function [-Werror=uninitialized] virtio/virtio_balloon.c:262:56: error: 'events[17]' is used uninitialized in this function [-Werror=uninitialized]
This seems absolutely right, so we should add an extra check to prevent copying uninitialized stack data into the statistics.
Quoted 1 line
Quoted 1 line
From all I can tell, this has been broken since the statistics code
was originally added in 2.6.34.
--- drivers/virtio/virtio_balloon.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/virtio/virtio_balloon.c +2 -0
@@ -253,12 +253,14 @@ static unsigned int update_balloon_stats available =si_mem_available (); +#ifdef CONFIG_VM_EVENT_COUNTERS update_stat (vb, idx++,VIRTIO_BALLOON_S_SWAP_IN ,pages_to_bytes (events[PSWPIN ]));update_stat (vb, idx++,VIRTIO_BALLOON_S_SWAP_OUT ,pages_to_bytes (events[PSWPOUT ]));update_stat (vb, idx++,VIRTIO_BALLOON_S_MAJFLT , events[PGMAJFAULT ]);update_stat (vb, idx++,VIRTIO_BALLOON_S_MINFLT , events[PGFAULT ]); +#endif update_stat (vb, idx++,VIRTIO_BALLOON_S_MEMFREE ,pages_to_bytes (i.freeram)); update_stat(vb, idx++, VIRTIO_BALLOON_S_MEMTOT,
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/hwmon-asus_atk0110-fix-uninitialized-data-access.patch queue-4.9/bna-avoid-writing-uninitialized-data-into-hw-registers.patch queue-4.9/virtio-balloon-use-actual-number-of-stats-for-stats-queue-buffers.patch queue-4.9/virtio_balloon-prevent-uninitialized-variable-use.patch queue-4.9/isdn-kcapi-avoid-uninitialized-data.patch