Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94cd3e6c authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: wrong test in inet_ehash_locks_alloc()



In commit 9db66bdc (net: convert
TCP/DCCP ehash rwlocks to spinlocks), I forgot to change one
occurrence of rwlock_t to spinlock_t

I believe sizeof(raw_spinlock_t) might be > 0 on !CONFIG_SMP if
CONFIG_DEBUG_SPINLOCK while sizeof(raw_rwlock_t) should be 0 in this
case.

Fortunatly, CONFIG_DEBUG_SPINLOCK adds fields to both spinlock_t and
rwlock_t, but at this might change in the future (being able to debug
spinlocks but not rwlocks for example), better to be safe.

Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 15b2bee2
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -182,7 +182,7 @@ static inline int inet_ehash_locks_alloc(struct inet_hashinfo *hashinfo)
		size = 2048;
		size = 2048;
	if (nr_pcpus >= 32)
	if (nr_pcpus >= 32)
		size = 4096;
		size = 4096;
	if (sizeof(rwlock_t) != 0) {
	if (sizeof(spinlock_t) != 0) {
#ifdef CONFIG_NUMA
#ifdef CONFIG_NUMA
		if (size * sizeof(spinlock_t) > PAGE_SIZE)
		if (size * sizeof(spinlock_t) > PAGE_SIZE)
			hashinfo->ehash_locks = vmalloc(size * sizeof(spinlock_t));
			hashinfo->ehash_locks = vmalloc(size * sizeof(spinlock_t));