Skip to contentSkip to conversation

Patch "tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap" has been added to the 4.2-stable tree

PATCH [email protected] 1 participant 1 message Oct 17, 2015 Stable branch

lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap

to the 4.2-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:
tools-lguest-fix-redefinition-of-struct-virtio_pci_cfg_cap.patch
and it can be found in the queue-4.2 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 e523caa601f4a7c2fa1ecd040db921baf7453798 Mon Sep 17 00:00:00 2001

From: Rusty Russell <[email protected]>
Date: Wed, 26 Aug 2015 10:42:26 +0930
Subject: tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Rusty Russell <[email protected]>

commit e523caa601f4a7c2fa1ecd040db921baf7453798 upstream.

Ours uses a u32 for the data, since we ensure it's always aligned and it's x86 so it doesn't matter anyway.

lguest.c:128:8: error: redefinition of ‘struct virtio_pci_cfg_cap’

Cc Linus Torvalds <[email protected]>
Cc Michael S. Tsirkin <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Thomas Gleixner <[email protected]>
Fixes 3121bb023e2db ("virtio: define virtio_pci_cfg_cap in header.")
---
 tools/lguest/lguest.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
tools/lguest/lguest.c +7 -3
@@ -125,7 +125,11 @@ struct device_list {
 /* The list of Guest devices, based on command line arguments. */
 static struct device_list devices;
 
-struct virtio_pci_cfg_cap {
+/*
+ * Just like struct virtio_pci_cfg_cap in uapi/linux/virtio_pci.h,
+ * but uses a u32 explicitly for the data.
+ */
+struct virtio_pci_cfg_cap_u32 {
 	struct virtio_pci_cap cap;
 	u32 pci_cfg_data; /* Data for BAR access. */
 };
@@ -157,7 +161,7 @@ struct pci_config {
 	struct virtio_pci_notify_cap notify;
 	struct virtio_pci_cap isr;
 	struct virtio_pci_cap device;
-	struct virtio_pci_cfg_cap cfg_access;
+	struct virtio_pci_cfg_cap_u32 cfg_access;
 };
 
 /* The device structure describes a single device. */
@@ -1291,7 +1295,7 @@ static struct device *dev_and_reg(u32 *r
  * only fault if they try to write with some invalid bar/offset/length.
  */
 static bool valid_bar_access(struct device *d,
-			     struct virtio_pci_cfg_cap *cfg_access)
+			     struct virtio_pci_cfg_cap_u32 *cfg_access)
 {
 	/* We only have 1 bar (BAR0) */
 	if (cfg_access->cap.bar != 0)

Patches currently in stable-queue which might be from [email protected] are

queue-4.2/tools-lguest-fix-redefinition-of-struct-virtio_pci_cfg_cap.patch