mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	 6046b49baf
			
		
	
	
		6046b49baf
		
	
	
	
	
		
			
			Provide sysfb helpers for validating framebuffer integer values against limits. Update drivers. If a driver did not specify a limit for a certain value, use INT_MAX. v2: - declare module information near EOF (Javier) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://lore.kernel.org/r/20250410083834.10810-3-tzimmermann@suse.de
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			866 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			866 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| #include <linux/export.h>
 | |
| #include <linux/limits.h>
 | |
| #include <linux/minmax.h>
 | |
| #include <linux/module.h>
 | |
| 
 | |
| #include <drm/drm_print.h>
 | |
| 
 | |
| #include "drm_sysfb_helper.h"
 | |
| 
 | |
| int drm_sysfb_get_validated_int(struct drm_device *dev, const char *name,
 | |
| 				u64 value, u32 max)
 | |
| {
 | |
| 	if (value > min(max, INT_MAX)) {
 | |
| 		drm_warn(dev, "%s of %llu exceeds maximum of %u\n", name, value, max);
 | |
| 		return -EINVAL;
 | |
| 	}
 | |
| 	return value;
 | |
| }
 | |
| EXPORT_SYMBOL(drm_sysfb_get_validated_int);
 | |
| 
 | |
| int drm_sysfb_get_validated_int0(struct drm_device *dev, const char *name,
 | |
| 				 u64 value, u32 max)
 | |
| {
 | |
| 	if (!value) {
 | |
| 		drm_warn(dev, "%s of 0 not allowed\n", name);
 | |
| 		return -EINVAL;
 | |
| 	}
 | |
| 	return drm_sysfb_get_validated_int(dev, name, value, max);
 | |
| }
 | |
| EXPORT_SYMBOL(drm_sysfb_get_validated_int0);
 | |
| 
 | |
| MODULE_DESCRIPTION("Helpers for DRM sysfb drivers");
 | |
| MODULE_LICENSE("GPL");
 |