Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arm32 vDSO forces ld.bfd #356

Closed
nathanchance opened this issue Feb 8, 2019 · 4 comments
Closed

arm32 vDSO forces ld.bfd #356

nathanchance opened this issue Feb 8, 2019 · 4 comments
Assignees
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.2 This bug was fixed in Linux 5.2

Comments

@nathanchance
Copy link
Member

Forked from #342 (comment)

VDSO_LDFLAGS += $(call cc-ldoption, -fuse-ld=bfd)

Introduced by d2b30cd

@nathanchance nathanchance added [BUG] linux A bug that should be fixed in the mainline kernel. [ARCH] arm32 This bug impacts ARCH=arm labels Feb 8, 2019
@nathanchance
Copy link
Member Author

Fixed by https://git.kernel.org/next/linux-next/c/fe00e50b2db8c60e4ec90befad1f5bab8ca2c800

@nathanchance nathanchance self-assigned this May 7, 2019
@nathanchance nathanchance added the [PATCH] Accepted A submitted patch has been accepted upstream label May 7, 2019
@nathanchance
Copy link
Member Author

Merged into mainline: https://git.kernel.org/torvalds/c/fe00e50b2db8c60e4ec90befad1f5bab8ca2c800

@nathanchance nathanchance added [FIXED][LINUX] 5.2 This bug was fixed in Linux 5.2 and removed [PATCH] Accepted A submitted patch has been accepted upstream labels Jun 2, 2019
@nickdesaulniers
Copy link
Member

oh, I guess I should have closed this w/ #342 ?

@nathanchance
Copy link
Member Author

Technically yes but no harm no foul :)

nathanchance pushed a commit that referenced this issue Jul 18, 2020
Tests showed this BUG:
[572555.252867] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:935
[572555.252876] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 131031, name: smcapp
[572555.252879] INFO: lockdep is turned off.
[572555.252883] CPU: 1 PID: 131031 Comm: smcapp Tainted: G           O      5.7.0-rc3uschi+ #356
[572555.252885] Hardware name: IBM 3906 M03 703 (LPAR)
[572555.252887] Call Trace:
[572555.252896]  [<00000000ac364554>] show_stack+0x94/0xe8
[572555.252901]  [<00000000aca1f400>] dump_stack+0xa0/0xe0
[572555.252906]  [<00000000ac3c8c10>] ___might_sleep+0x260/0x280
[572555.252910]  [<00000000acdc0c98>] __mutex_lock+0x48/0x940
[572555.252912]  [<00000000acdc15c2>] mutex_lock_nested+0x32/0x40
[572555.252975]  [<000003ff801762d0>] mlx5_lag_get_roce_netdev+0x30/0xc0 [mlx5_core]
[572555.252996]  [<000003ff801fb3aa>] mlx5_ib_get_netdev+0x3a/0xe0 [mlx5_ib]
[572555.253007]  [<000003ff80063848>] smc_pnet_find_roce_resource+0x1d8/0x310 [smc]
[572555.253011]  [<000003ff800602f0>] __smc_connect+0x1f0/0x3e0 [smc]
[572555.253015]  [<000003ff80060634>] smc_connect+0x154/0x190 [smc]
[572555.253022]  [<00000000acbed8d4>] __sys_connect+0x94/0xd0
[572555.253025]  [<00000000acbef620>] __s390x_sys_socketcall+0x170/0x360
[572555.253028]  [<00000000acdc6800>] system_call+0x298/0x2b8
[572555.253030] INFO: lockdep is turned off.

Function smc_pnet_find_rdma_dev() might be called from
smc_pnet_find_roce_resource(). It holds the smc_ib_devices list
spinlock while calling infiniband op get_netdev(). At least for mlx5
the get_netdev operation wants mutex serialization, which conflicts
with the smc_ib_devices spinlock.
This patch switches the smc_ib_devices spinlock into a mutex to
allow sleeping when calling get_netdev().

Fixes: a4cf044 ("smc: introduce SMC as an IB-client")
Signed-off-by: Ursula Braun <[email protected]>
Signed-off-by: Karsten Graul <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.2 This bug was fixed in Linux 5.2
Projects
None yet
Development

No branches or pull requests

2 participants