[PATCH] char/agp: Disable frontend without CONFIG_DRM_LEGACY
Christian König
christian.koenig at amd.com
Wed Nov 18 08:23:52 UTC 2020
Am 18.11.20 um 09:02 schrieb Thomas Zimmermann:
> Hi
>
> Am 17.11.20 um 22:40 schrieb Daniel Vetter:
>> It's probably full of bugs ready for exploiting by userspace. And
>> there's not going to be any userspace for this without any of the drm
>> legacy drivers enabled too. So just couple it together.
>>
>> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
>> Cc: David Airlie <airlied at linux.ie>
>> Cc: Adam Jackson <ajax at redhat.com>
>> ---
>> drivers/char/agp/Makefile | 6 +++++-
>> drivers/char/agp/agp.h | 5 +++++
>> 2 files changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/char/agp/Makefile b/drivers/char/agp/Makefile
>> index cb2497d157f6..90ed8c789e48 100644
>> --- a/drivers/char/agp/Makefile
>> +++ b/drivers/char/agp/Makefile
>> @@ -1,7 +1,11 @@
>> # SPDX-License-Identifier: GPL-2.0
>> -agpgart-y := backend.o frontend.o generic.o isoch.o
>> +agpgart-y := backend.o generic.o isoch.o
>>
>> +ifeq ($(CONFIG_DRM_LEGACY),y)
>> agpgart-$(CONFIG_COMPAT) += compat_ioctl.o
>> +agpgart-y += frontend.o
>> +endif
>> +
>>
>> obj-$(CONFIG_AGP) += agpgart.o
>> obj-$(CONFIG_AGP_ALI) += ali-agp.o
>> diff --git a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h
>> index 4eb1c772ded7..bb09d64cd51e 100644
>> --- a/drivers/char/agp/agp.h
>> +++ b/drivers/char/agp/agp.h
>> @@ -186,8 +186,13 @@ int agp_add_bridge(struct agp_bridge_data *bridge);
>> void agp_remove_bridge(struct agp_bridge_data *bridge);
>>
>> /* Frontend routines. */
>> +#if IS_ENABLED(CONFIG_DRM_LEGACY)
>> int agp_frontend_initialize(void);
>> void agp_frontend_cleanup(void);
>> +#else
>> +static inline int agp_frontend_initialize(void) { return 0; }
>> +static inline void agp_frontend_cleanup(void) {}
>> +#endif
> There's one non-legacy driver that uses these agp structures, which is
> radeon. Does this change affect radeon?
Nouveau uses AGP as well, but I'm not sure if both drivers use any of
this stuff.
Regards,
Christian.
>
> Best regards
> Thomas
>
>>
>> /* Generic routines. */
>> void agp_generic_enable(struct agp_bridge_data *bridge, u32 mode);
>>
More information about the dri-devel
mailing list