Message ID | 20250106025542.13555-1-kirinode0@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Input: pwm-beeper - add range check for parameter. | expand |
On Mon, Jan 06, 2025 at 11:55:28AM +0900, Tamura Dai wrote: > The parameter "beeper-hz" range is defined in pwm-beeper.yaml, > so add range check. What will happen if we try to use data that is out of range? We now do have tools to check whether DTS is compliant bindings, so I wonder how useful to also have checks in the kernel.... > > Signed-off-by: Tamura Dai <kirinode0@gmail.com> > --- > drivers/input/misc/pwm-beeper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/input/misc/pwm-beeper.c b/drivers/input/misc/pwm-beeper.c > index 0e19e97d98ec..455054f9aae6 100644 > --- a/drivers/input/misc/pwm-beeper.c > +++ b/drivers/input/misc/pwm-beeper.c > @@ -153,7 +153,7 @@ static int pwm_beeper_probe(struct platform_device *pdev) > INIT_WORK(&beeper->work, pwm_beeper_work); > > error = device_property_read_u32(dev, "beeper-hz", &bell_frequency); > - if (error) { > + if (error || (bell_frequency < 10) || (bell_frequency > 10000)) { > bell_frequency = 1000; > dev_dbg(dev, > "failed to parse 'beeper-hz' property, using default: %uHz\n", > -- > 2.45.2 > Thanks.
diff --git a/drivers/input/misc/pwm-beeper.c b/drivers/input/misc/pwm-beeper.c index 0e19e97d98ec..455054f9aae6 100644 --- a/drivers/input/misc/pwm-beeper.c +++ b/drivers/input/misc/pwm-beeper.c @@ -153,7 +153,7 @@ static int pwm_beeper_probe(struct platform_device *pdev) INIT_WORK(&beeper->work, pwm_beeper_work); error = device_property_read_u32(dev, "beeper-hz", &bell_frequency); - if (error) { + if (error || (bell_frequency < 10) || (bell_frequency > 10000)) { bell_frequency = 1000; dev_dbg(dev, "failed to parse 'beeper-hz' property, using default: %uHz\n",
The parameter "beeper-hz" range is defined in pwm-beeper.yaml, so add range check. Signed-off-by: Tamura Dai <kirinode0@gmail.com> --- drivers/input/misc/pwm-beeper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)