Prepare to mark sensitive kernel structures for randomization by making sure they're using designated initializers. These were identified during allyesconfig builds of x86, arm, and arm64, with most initializer fixes extracted from grsecurity. Signed-off-by: Kees Cook <keescook at chromium.org> --- drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_ttm.c b/drivers/gpu/drm/virtio/virtgpu_ttm.c index 4a1de9f81193..63b3d5d35cf6 100644 --- a/drivers/gpu/drm/virtio/virtgpu_ttm.c +++ b/drivers/gpu/drm/virtio/virtgpu_ttm.c @@ -198,11 +198,11 @@ static void ttm_bo_man_debug(struct ttm_mem_type_manager *man, } static const struct ttm_mem_type_manager_func virtio_gpu_bo_manager_func = { - ttm_bo_man_init, - ttm_bo_man_takedown, - ttm_bo_man_get_node, - ttm_bo_man_put_node, - ttm_bo_man_debug + .init = ttm_bo_man_init, + .takedown = ttm_bo_man_takedown, + .get_node = ttm_bo_man_get_node, + .put_node = ttm_bo_man_put_node, + .debug = ttm_bo_man_debug }; static int virtio_gpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, -- 2.7.4 -- Kees Cook Nexus Security
On Sun, Dec 18, 2016 at 10:53 PM, Alexander Stein <alexander.stein at systec-electronic.com> wrote:> Hello Kees, > > While understanding what your patches (I've seen the other ones as well) do > themself, I still don't get what your intention is, e.g. why you need this? > Apart from a better readability. > > On Friday 16 December 2016 16:59:29, Kees Cook wrote: >> Prepare to mark sensitive kernel structures for randomization by making >> sure they're using designated initializers. > > Can you please elaborate what you mean with that sentence?Hi! Sure: the coming (and optional) gcc plugin "randstruct" performs structure layout randomization, which means that static initializers cannot be "ordered" (they must be "designated"), since the place were layout randomization occurs happens separate from how static initializers are applied. This change from ordered to designated is just to help the compiler do the right thing. -Kees -- Kees Cook Nexus Security
Reasonably Related Threads
- [PATCH] drm/ttm: use designated initializers
- [PATCH v7 14/18] drm/virtio: switch from ttm to gem shmem helpers
- [PATCH v2 10/12] drm/virtio: switch from ttm to gem shmem helpers
- [PATCH v5 11/12] drm/virtio: switch from ttm to gem shmem helpers
- [PATCH v3 11/12] drm/virtio: switch from ttm to gem shmem helpers