NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/60620: Fatal logic inversion in fdtbus_get_u32prop_with_default() breaks usmsc(4) and other FDT drivers



Thanx! 20260818180311Z seems fine!

$ ./test_fdt
=== FDT Regression Test Bench ===

[Case 1] Property EXISTS (Expected output: 200)
  - ORIGINAL (Buggy): 200  --> PASS
  - FIXED    (Patch): 200  --> PASS

[Case 2] Property DOES NOT EXIST (Expected output: 100)
  - ORIGINAL (Buggy): 100  --> PASS
  - FIXED    (Patch): 100  --> PASS

=== Test finished ===
armv7$ uname -a
NetBSD armv7 11.99.7 NetBSD 11.99.7 (GENERIC) #0: Tue Aug 18 18:03:11
UTC 2026  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/evbarm/compile/GENERIC
evbarm

2026年8月19日(水) 17:05 Nick Hudson via gnats <gnats-admin%netbsd.org@localhost>:
>
> The following reply was made to PR kern/60620; it has been noted by GNATS.
>
> From: Nick Hudson <nick.hudson%gmx.co.uk@localhost>
> To: gnats-bugs%netbsd.org@localhost,
>  kern-bug-people%netbsd.org@localhost,
>  gnats-admin%netbsd.org@localhost,
>  netbsd-bugs%netbsd.org@localhost
> Cc:
> Subject: Re: kern/60620: Fatal logic inversion in
>  fdtbus_get_u32prop_with_default() breaks usmsc(4) and other FDT drivers
> Date: Wed, 19 Aug 2026 09:01:58 +0100
>
>  On 19/08/2026 06:05, jun%soum.co.jp@localhost via gnats wrote:
>  [snip]
>
>  > A fatal regression was introduced in sys/dev/fdt/fdt_subr.c (revision =
>  1.43)
>  > with the implementation of fdtbus_get_u32prop_with_default().
>  > The internal logic of of_getprop_uint32() return value checking is =
>  inverted:
>  > ----------------------------------------------------------------------
>  > static int
>  > fdtbus_get_u32prop_with_default(int phandle, const char *prop, int =
>  dflt)
>  > {
>  >         uint32_t val;
>  >         if (of_getprop_uint32(phandle, prop, &val)) {
>  >                 val =3D dflt;
>  >         }
>  >         return val;
>  > }
>
>  This isn't a bug.
>
>  Also,
>
>  $ uname -a
>  NetBSD rpi2 11.99.7 NetBSD 11.99.7 (GENERIC) #0: Sun Aug 16 16:46:12 BST =
>  2026  =
>  nick@Nicks-MacBook-Air.local:/Volumes/Work/netbsd/nick-vchiq/obj.evbarmv7h=
>  f-el/sys/arch/evbarm/compile/GENERIC evbarm
>  $ gcc -v
>  Using built-in specs.
>  COLLECT_GCC=3Dgcc
>  COLLECT_LTO_WRAPPER=3D/usr/libexec/lto-wrapper
>  Target: armv7--netbsdelf-eabihf
>  Configured with: =
>  /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure =
>  --target=3Darmv7--netbsdelf-eabihf --enable-long-long --enable-threads =
>  --with-bugurl=3Dhttp://www.NetBSD.org/support/send-pr.html =
>  --with-pkgversion=3D'NetBSD nb1 20250721' --with-system-zlib =
>  --enable-__cxa_atexit --enable-libstdcxx-time=3Drt =
>  --enable-libstdcxx-threads --with-diagnostics-color=3Dauto-if-env =
>  --with-default-libstdcxx-abi=3Dnew =
>  --with-isl=3D/var/obj/mknative/evbarm-earmv7hf/usr/src/tooldir.NetBSD-10.0=
>  _STABLE-amd64 =
>  --with-mpc-lib=3D/var/obj/mknative/evbarm-earmv7hf/usr/src/external/lgpl3/=
>  mpc/lib/libmpc =
>  --with-mpfr-lib=3D/var/obj/mknative/evbarm-earmv7hf/usr/src/external/lgpl3=
>  /mpfr/lib/libmpfr =
>  --with-gmp-lib=3D/var/obj/mknative/evbarm-earmv7hf/usr/src/external/lgpl3/=
>  gmp/lib/libgmp --with-mpc-include=3D/usr/src/external/lgpl3/mpc/dist/src =
>  --with-mpfr-include=3D/usr/src/external/lgpl3/mpfr/dist/src =
>  --with-gmp-include=3D/usr/src/external/lgpl3/gmp/lib/libgmp/arch/arm =
>  --enable-tls --enable-initfini-array --disable-multilib =
>  --disable-libstdcxx-pch --build=3Darmv7--netbsdelf-eabihf =
>  --host=3Darmv7--netbsdelf-eabihf =
>  --with-sysroot=3D/var/obj/mknative/evbarm-earmv7hf/usr/src/destdir.evbarm
>  Thread model: posix
>  Supported LTO compression algorithms: zlib
>  gcc version 12.5.0 (nb3 20260326)
>  $ gcc -Wall -o test_fdt test_fdt_subr.c
>  $ ./test_fdt
>  =3D=3D=3D FDT Regression Test Bench =3D=3D=3D
>
>  [Case 1] Property EXISTS (Expected output: 200)
>   - ORIGINAL (Buggy): 200  --> PASS
>   - FIXED    (Patch): 200  --> PASS
>
>  [Case 2] Property DOES NOT EXIST (Expected output: 100)
>   - ORIGINAL (Buggy): 100  --> PASS
>   - FIXED    (Patch): 100  --> PASS
>
>  =3D=3D=3D Test finished =3D=3D=3D
>  $
>
>  Will check -current shortly
>


-- 
Jun Ebihara



Home | Main Index | Thread Index | Old Index