Re: [PATCH] drm/i915: disable KASAN for handlers

From: Arnd Bergmann
Date: Fri Mar 31 2017 - 07:24:44 EST


On Fri, Mar 31, 2017 at 12:29 PM, Jani Nikula
<jani.nikula@xxxxxxxxxxxxxxx> wrote:
> On Fri, 31 Mar 2017, Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> wrote:
>> On 2017.03.30 11:46:27 +0200, Jiri Slaby wrote:
>>> Handlers are currently the only blocker to compile the kernel with gcc 7
>>> and KASAN+use-after-scope enabled:
>>> drivers/gpu/drm/i915/gvt/handlers.c:2200:1: error: the frame size of 43760 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
>>> drivers/gpu/drm/i915/gvt/handlers.c:2402:1: error: the frame size of 9400 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
>>> drivers/gpu/drm/i915/gvt/handlers.c:2628:1: error: the frame size of 11256 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
>>>
>>> It is due to many expansions of MMIO_* macros in init_generic_mmio_info.
>>> INTEL_GVT_MMIO_OFFSET generates for each such line a __reg and an
>>> offset. There are too many for KASAN to keep up.
>>>
>>> So disable KASAN for this file.
>>>
>>> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
>>> Cc: Martin Liska <mliska@xxxxxxx>
>>> Cc: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>
>>> Cc: Zhi Wang <zhi.a.wang@xxxxxxxxx>
>>> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx>
>>> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
>>> Cc: David Airlie <airlied@xxxxxxxx>
>>> Cc: intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx
>>> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
>>> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>>> ---
>>> drivers/gpu/drm/i915/gvt/Makefile | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/gvt/Makefile b/drivers/gpu/drm/i915/gvt/Makefile
>>> index b123c20e2097..942f1849d194 100644
>>> --- a/drivers/gpu/drm/i915/gvt/Makefile
>>> +++ b/drivers/gpu/drm/i915/gvt/Makefile
>>> @@ -6,3 +6,5 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \
>>> ccflags-y += -I$(src) -I$(src)/$(GVT_DIR) -Wall
>>> i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE))
>>> obj-$(CONFIG_DRM_I915_GVT_KVMGT) += $(GVT_DIR)/kvmgt.o
>>> +
>>> +KASAN_SANITIZE_handlers.o := n
>>> --
>>> 2.12.2
>>>
>>
>> Applied this, we'd better cleanup legacy usage to current i915 mmio
>> reg define. Thanks!
>
> Hmmh, that was a bit fast, there was a related discussion going in [1].
>
> BR,
> Jani.
>
>
> [1] http://mid.mail-archive.com/20170320215713.3086140-1-arnd@xxxxxxxx

Sorry about that, it looked like I never replied to your last mail.

There is also a related problem that I had sent another fix for:
https://patchwork.kernel.org/patch/9601349/

I still think that my two patches are correct and they should both be applied.

Arnd