Thomas Deutschmann wrote:

Not sure if this is a kernel problem. Isn't test suite using
LD_PRELOAD to pull in additional libraries which could cause
such a breakage?

You're right, it could be a library problem. The test suite's LD_PRELOAD library just returns what the C library gives it, though. Perhaps LD_PRELOAD usage is messing up malloc on your platform, so that it returns improperly-aligned pointers? You might try something like the attached patch to see whether the C library is doing that.

And wouldn't "rm" show any failure during normal use?

Yes, one would think so.

In any case, this is not sounding like a bug in coreutils itself.
diff --git a/tests/rm/rm-readdir-fail.sh b/tests/rm/rm-readdir-fail.sh
index 75fa339db..8d74aaefd 100755
--- a/tests/rm/rm-readdir-fail.sh
+++ b/tests/rm/rm-readdir-fail.sh
@@ -55,6 +55,8 @@ struct dirent *readdir (DIR *dirp)
       return NULL;
     }
 
+  if ((long) (d) % _Alignof (struct dirent) != 0)
+    abort ();
   /* Flag that LD_PRELOAD and above functions work.  */
   static int count = 1;
   if (count == 1)

Reply via email to