Message ID | 20250125064619.8305-5-jim.cromie@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y | expand |
Le 25/01/2025 à 07:45, Jim Cromie a écrit : > struct ddebug_class_param keeps a ref to the state-storage of the > param; make both class-types use the same unsigned long storage type. > > ISTM this is simpler and safer; it avoids an irrelevant difference, > and if 2 users somehow get class-type mixed up (or refer to the wrong > union member), at least they will both see the same value. > > Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> > --- > include/linux/dynamic_debug.h | 2 +- > lib/dynamic_debug.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h > index ff44ec346162..b9afc7731b7c 100644 > --- a/include/linux/dynamic_debug.h > +++ b/include/linux/dynamic_debug.h > @@ -124,7 +124,7 @@ struct _ddebug_info { > struct ddebug_class_param { > union { > unsigned long *bits; > - unsigned int *lvl; > + unsigned long *lvl; > }; > char flags[8]; > const struct ddebug_class_map *map; > diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c > index 147540c57154..55df35df093b 100644 > --- a/lib/dynamic_debug.c > +++ b/lib/dynamic_debug.c > @@ -799,7 +799,7 @@ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) > > case DD_CLASS_TYPE_LEVEL_NAMES: > case DD_CLASS_TYPE_LEVEL_NUM: > - return scnprintf(buffer, PAGE_SIZE, "%d\n", *dcp->lvl); > + return scnprintf(buffer, PAGE_SIZE, "%ld\n", *dcp->lvl); > default: > return -1; > }
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index ff44ec346162..b9afc7731b7c 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -124,7 +124,7 @@ struct _ddebug_info { struct ddebug_class_param { union { unsigned long *bits; - unsigned int *lvl; + unsigned long *lvl; }; char flags[8]; const struct ddebug_class_map *map; diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 147540c57154..55df35df093b 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -799,7 +799,7 @@ int param_get_dyndbg_classes(char *buffer, const struct kernel_param *kp) case DD_CLASS_TYPE_LEVEL_NAMES: case DD_CLASS_TYPE_LEVEL_NUM: - return scnprintf(buffer, PAGE_SIZE, "%d\n", *dcp->lvl); + return scnprintf(buffer, PAGE_SIZE, "%ld\n", *dcp->lvl); default: return -1; }
struct ddebug_class_param keeps a ref to the state-storage of the param; make both class-types use the same unsigned long storage type. ISTM this is simpler and safer; it avoids an irrelevant difference, and if 2 users somehow get class-type mixed up (or refer to the wrong union member), at least they will both see the same value. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- include/linux/dynamic_debug.h | 2 +- lib/dynamic_debug.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)