drm: Add drm_mode_init()
Add a variant of drm_mode_copy() that explicitly clears out the list head of the destination mode. Helpful to guarantee we don't have stack garbage left in there for on-stack modes. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220218100403.7028-2-ville.syrjala@linux.intel.com Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
This commit is contained in:
parent
b861de2469
commit
2d3eec8970
|
@ -941,6 +941,23 @@ void drm_mode_copy(struct drm_display_mode *dst, const struct drm_display_mode *
|
|||
}
|
||||
EXPORT_SYMBOL(drm_mode_copy);
|
||||
|
||||
/**
|
||||
* drm_mode_init - initialize the mode from another mode
|
||||
* @dst: mode to overwrite
|
||||
* @src: mode to copy
|
||||
*
|
||||
* Copy an existing mode into another mode, zeroing the
|
||||
* list head of the destination mode. Typically used
|
||||
* to guarantee the list head is not left with stack
|
||||
* garbage in on-stack modes.
|
||||
*/
|
||||
void drm_mode_init(struct drm_display_mode *dst, const struct drm_display_mode *src)
|
||||
{
|
||||
memset(dst, 0, sizeof(*dst));
|
||||
drm_mode_copy(dst, src);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mode_init);
|
||||
|
||||
/**
|
||||
* drm_mode_duplicate - allocate and duplicate an existing mode
|
||||
* @dev: drm_device to allocate the duplicated mode for
|
||||
|
|
|
@ -492,6 +492,8 @@ void drm_mode_set_crtcinfo(struct drm_display_mode *p,
|
|||
int adjust_flags);
|
||||
void drm_mode_copy(struct drm_display_mode *dst,
|
||||
const struct drm_display_mode *src);
|
||||
void drm_mode_init(struct drm_display_mode *dst,
|
||||
const struct drm_display_mode *src);
|
||||
struct drm_display_mode *drm_mode_duplicate(struct drm_device *dev,
|
||||
const struct drm_display_mode *mode);
|
||||
bool drm_mode_match(const struct drm_display_mode *mode1,
|
||||
|
|
Loading…
Reference in New Issue