On Thu, Mar 18, 2021 at 1:20 PM Joel Sherrill <[email protected]> wrote: > > > > On Thu, Mar 18, 2021 at 2:16 PM Ryan Long <[email protected]> wrote: >> >> When Joel and I looked at it, this was the only assert that prevented it >> from running. > > > But Gedare's suggestion is good since it is a VERY precise check. >
We're not running tests against all of these (c.f., Chris' complaint already). Especially, if you're not running the greth device drivers, then you don't know if those mkdir() are likely failing with EEXIST or not. > --joel >> >> >> -----Original Message----- >> From: Gedare Bloom <[email protected]> >> Sent: Thursday, March 18, 2021 2:14 PM >> To: Ryan Long <[email protected]> >> Cc: [email protected] >> Subject: Re: [PATCH v2] pwdgrp.c: removed assert causing runtime issues >> >> On Thu, Mar 18, 2021 at 11:40 AM Ryan Long <[email protected]> wrote: >> > >> > Changed the _Assert_unused_variable_equals macro to just a (void) due >> > to /etc having already been created by the network stack >> > initialization or an initial filesystem image. >> > >> > Updates #4282 >> > --- >> > cpukit/libcsupport/src/pwdgrp.c | 9 ++++----- >> > 1 file changed, 4 insertions(+), 5 deletions(-) >> > >> > diff --git a/cpukit/libcsupport/src/pwdgrp.c >> > b/cpukit/libcsupport/src/pwdgrp.c index f4a10f7..edc8aff 100644 >> > --- a/cpukit/libcsupport/src/pwdgrp.c >> > +++ b/cpukit/libcsupport/src/pwdgrp.c >> > @@ -36,7 +36,6 @@ >> > #include <stdint.h> >> > >> > #include <rtems/seterr.h> >> > -#include <rtems/score/assert.h> >> > >> > #include "pwdgrp.h" >> > >> > @@ -63,13 +62,13 @@ static void init_file(const char *name, const char >> > *content) >> > */ >> > static void pwdgrp_init(void) >> > { >> > - int sc; >> > - >> > /* >> > * Do the best to create this directory. >> > + * >> > + * /etc could be created by the network stack initialization or an >> > initial >> > + * filesystem image. Deliberately ignore the return value. >> > */ >> > - sc = mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | >> > S_IXOTH); >> > - _Assert_Unused_variable_equals(sc, 0); >> > + (void) mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | >> > + S_IXOTH); >> > >> >> So this seems fine, but it got me thinking, does this issue affect all the >> other mkdir-related patches recently done? >> >> Probably, we should use >> _Assert(sc == 0 || errno == EEXIST); >> (void) sc; >> >> > /* >> > * Initialize /etc/passwd >> > -- >> > 1.8.3.1 >> > >> > _______________________________________________ >> > devel mailing list >> > [email protected] >> > http://lists.rtems.org/mailman/listinfo/devel >> _______________________________________________ >> devel mailing list >> [email protected] >> http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list [email protected] http://lists.rtems.org/mailman/listinfo/devel
