On Fri, 31 May 2024 18:03:52 +0200,
Mark Brown wrote:
> 
> On Fri, May 31, 2024 at 05:17:43PM +0200, Takashi Iwai wrote:
> > On Fri, 31 May 2024 07:50:33 +0200,
> 
> > >     not ok 5 write_invalid.0.40
> > >     not ok 201 write_invalid.0.12
> > >     not ok 208 write_invalid.0.11
> > >     not ok 264 write_invalid.0.3
> > >     not ok 271 write_invalid.0.2
> > >     not ok 278 write_invalid.0.1
> > >     not ok 285 write_invalid.0.0
> 
> > Through a quick look, those are no real "failures".  It'd be more
> > preferable if the driver returns an error for invalid values, but
> > currently it's up to drivers how to deal with them, and some accept as
> > is but with correction of the values internally.  They are shown as
> > "skips" in the summary above you showed, after all.
> 
> I would say these are all bugs, they show the driver not correcting the
> value and allowing users to read back out of range values that were
> written.  Even if the driver is accepting out of range values I'd expect
> it to transform them somehow when storing, the program will accept a
> mismatched read when testing this case but it will complain if the read
> value is not valid according to the control's info.

Ideally, yeah.  But it's a whack-a-mole game, and my gut feeling is
that it'd be better to enable the input validation globally, something
like below.


Takashi

--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
@@ -219,7 +219,8 @@ config SND_PCM_XRUN_DEBUG
          the process or driver which causes the scheduling gaps.
 
 config SND_CTL_INPUT_VALIDATION
-       bool "Validate input data to control API"
+       bool "Validate input data to control API" if EXPERT
+       default y
        help
          Say Y to enable the additional validation for the input data to
          each control element, including the value range checks.


Reply via email to