diff options
| author | Khem Raj <raj.khem@gmail.com> | 2017-03-21 23:45:52 -0700 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2017-03-24 09:28:24 -0400 |
| commit | bccfd5ddb908b82511869701a41be056c0414a1b (patch) | |
| tree | bf744e2666309a1715621f51a442502f96cb0d58 | |
| parent | e858c02c4276d5e675574d80d17180b7de757d51 (diff) | |
| download | meta-virtualization-bccfd5ddb908b82511869701a41be056c0414a1b.tar.gz | |
kvmtool: Fix unaligned pointer access warning
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
| -rw-r--r-- | recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch | 39 | ||||
| -rw-r--r-- | recipes-extended/kvmtool/kvmtool.bb | 3 |
2 files changed, 41 insertions, 1 deletions
diff --git a/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch b/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch new file mode 100644 index 00000000..863e86a8 --- /dev/null +++ b/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | From 2e22df7c24dadf5e16004cd832cabca76a699d4d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Tue, 21 Mar 2017 23:32:39 -0700 | ||
| 4 | Subject: [PATCH] Avoid pointers for address of packed members | ||
| 5 | |||
| 6 | Fixes Clang warning due to -Waddress-of-packed-member | ||
| 7 | |||
| 8 | virtio/blk.c:161:37: error: taking address of packed member 'geometry' of class or structure 'virtio_blk_config' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member] | ||
| 9 | struct virtio_blk_geometry *geo = &conf->geometry; | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | virtio/blk.c | 3 +-- | ||
| 14 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/virtio/blk.c b/virtio/blk.c | ||
| 17 | index c485e4f..1f7365d 100644 | ||
| 18 | --- a/virtio/blk.c | ||
| 19 | +++ b/virtio/blk.c | ||
| 20 | @@ -158,7 +158,6 @@ static void set_guest_features(struct kvm *kvm, void *dev, u32 features) | ||
| 21 | { | ||
| 22 | struct blk_dev *bdev = dev; | ||
| 23 | struct virtio_blk_config *conf = &bdev->blk_config; | ||
| 24 | - struct virtio_blk_geometry *geo = &conf->geometry; | ||
| 25 | |||
| 26 | bdev->features = features; | ||
| 27 | |||
| 28 | @@ -167,7 +166,7 @@ static void set_guest_features(struct kvm *kvm, void *dev, u32 features) | ||
| 29 | conf->seg_max = virtio_host_to_guest_u32(&bdev->vdev, conf->seg_max); | ||
| 30 | |||
| 31 | /* Geometry */ | ||
| 32 | - geo->cylinders = virtio_host_to_guest_u16(&bdev->vdev, geo->cylinders); | ||
| 33 | + conf->geometry.cylinders = virtio_host_to_guest_u16(&bdev->vdev, conf->geometry.cylinders); | ||
| 34 | |||
| 35 | conf->blk_size = virtio_host_to_guest_u32(&bdev->vdev, conf->blk_size); | ||
| 36 | conf->min_io_size = virtio_host_to_guest_u16(&bdev->vdev, conf->min_io_size); | ||
| 37 | -- | ||
| 38 | 2.12.0 | ||
| 39 | |||
diff --git a/recipes-extended/kvmtool/kvmtool.bb b/recipes-extended/kvmtool/kvmtool.bb index 1e9a12ab..b3bf2029 100644 --- a/recipes-extended/kvmtool/kvmtool.bb +++ b/recipes-extended/kvmtool/kvmtool.bb | |||
| @@ -8,7 +8,8 @@ DEPENDS = "dtc libaio zlib" | |||
| 8 | 8 | ||
| 9 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git \ | 9 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git \ |
| 10 | file://external-crosscompiler.patch \ | 10 | file://external-crosscompiler.patch \ |
| 11 | " | 11 | file://0001-Avoid-pointers-for-address-of-packed-members.patch \ |
| 12 | " | ||
| 12 | 13 | ||
| 13 | SRCREV = "3fea89a924511f9f8fe05a892098fad77c1eca0d" | 14 | SRCREV = "3fea89a924511f9f8fe05a892098fad77c1eca0d" |
| 14 | PV = "3.18.0+git${SRCREV}" | 15 | PV = "3.18.0+git${SRCREV}" |
