HACK g_lock FIXED_GENERATE_RANDOM
authorStefan Metzmacher <metze@samba.org>
Wed, 20 Dec 2017 19:44:27 +0000 (20:44 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 29 Oct 2019 13:33:03 +0000 (14:33 +0100)
Both should work:

LD_PRELOAD=bin/shared/libuid-wrapper.so UID_WRAPPER=1 FIXED_GENERATE_RANDOM=0 gdb --args bin/smbtorture3 //ab/b -U% LOCAL-G-LOCK7

LD_PRELOAD=bin/shared/libuid-wrapper.so UID_WRAPPER=1 FIXED_GENERATE_RANDOM=1 gdb --args bin/smbtorture3 //ab/b -U% LOCAL-G-LOCK7

source3/lib/g_lock.c

index 0fd14950f077c4823e0e1d21ca5b67516f03be60..5f4c084e05c22aa0e5856ab9ba31dc1b3c672949 100644 (file)
@@ -223,6 +223,17 @@ static bool g_lock_conflicts(enum g_lock_type l1, enum g_lock_type l2)
        return true;
 }
 
+static inline uint32_t __fixed_generate_random(void)
+{
+       const char *s = getenv("FIXED_GENERATE_RANDOM");
+       if (s != NULL) {
+               return atoi(s);
+       }
+       return generate_random();
+}
+#undef generate_random
+#define generate_random __fixed_generate_random
+
 static NTSTATUS g_lock_trylock(struct db_record *rec, struct server_id self,
                               enum g_lock_type type,
                               struct server_id *blocker)