Skip to content

Conversation

@sleviubs
Copy link

@sleviubs sleviubs commented Apr 7, 2021

Signed-off-by: Sol Levi [email protected]

@sleviubs
Copy link
Author

sleviubs commented Apr 7, 2021

I needed to setup an RNDIS gadget on WLSOM1-EK1.
I think it won't hurt to just have those modules in there out of the box in the future.

@sleviubs sleviubs marked this pull request as ready for review April 7, 2021 02:52
@cristibirsan
Copy link

Hi Sol,

We will look at this for our next release. The modules need to be enable in the root file systems kernel config also.

Cristian

@sleviubs
Copy link
Author

@cristibirsan Do you mean in the meta-atmel linux-at91 bb?
Because all I did is place the patch in the recipes-kernel/linux/linux-at91-5.4.81 directory under meta-atmel and add
SRC_URI += "file://0001-Add-gadget-ethernet-drivers.patch" to linux-at91_5.4.81.bb (which I know is not the right way, I should have my own customization layer and use bbappend, but it was just to try it on the eval board).
The modules automatically arrived at the filesystem (SD).

I can open another request on the meta-atmel repo.

@cristibirsan
Copy link

If you need just RNDIS why you enable all other modules: NCM, ECM, EEM ?

I can include RNDIS in the kernel config for the upcoming release.

@cristibirsan
Copy link

Added RNDIS gadget in the latest kernel config. I will close this.

@sleviubs
Copy link
Author

If you need just RNDIS why you enable all other modules: NCM, ECM, EEM ?

I can include RNDIS in the kernel config for the upcoming release.

Sorry for the late reply. I just thought because this is going out for everyone, and we don't know their needs, then they can play with it out of the box (PoC, etc.), they can always optimize size later. I am ok with just the RNDIS.

Thanks

cristibirsan pushed a commit that referenced this pull request Jul 12, 2023
[ Upstream commit c308e9e ]

SMCRv1 has a similar issue to SMCRv2 (see link below) that may access
invalid MRs of RMBs when construct LLC ADD LINK CONT messages.

 BUG: kernel NULL pointer dereference, address: 0000000000000014
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 0 P4D 0
 Oops: 0000 [#1] PREEMPT SMP PTI
 CPU: 5 PID: 48 Comm: kworker/5:0 Kdump: loaded Tainted: G W   E      6.4.0-rc3+ #49
 Workqueue: events smc_llc_add_link_work [smc]
 RIP: 0010:smc_llc_add_link_cont+0x160/0x270 [smc]
 RSP: 0018:ffffa737801d3d50 EFLAGS: 00010286
 RAX: ffff964f82144000 RBX: ffffa737801d3dd8 RCX: 0000000000000000
 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff964f81370c30
 RBP: ffffa737801d3dd4 R08: ffff964f81370000 R09: ffffa737801d3db0
 R10: 0000000000000001 R11: 0000000000000060 R12: ffff964f82e70000
 R13: ffff964f81370c38 R14: ffffa737801d3dd3 R15: 0000000000000001
 FS:  0000000000000000(0000) GS:ffff9652bfd40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 0000000000000014 CR3: 000000008fa20004 CR4: 00000000003706e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 Call Trace:
  <TASK>
  smc_llc_srv_rkey_exchange+0xa7/0x190 [smc]
  smc_llc_srv_add_link+0x3ae/0x5a0 [smc]
  smc_llc_add_link_work+0xb8/0x140 [smc]
  process_one_work+0x1e5/0x3f0
  worker_thread+0x4d/0x2f0
  ? __pfx_worker_thread+0x10/0x10
  kthread+0xe5/0x120
  ? __pfx_kthread+0x10/0x10
  ret_from_fork+0x2c/0x50
  </TASK>

When an alernate RNIC is available in system, SMC will try to add a new
link based on the RNIC for resilience. All the RMBs in use will be mapped
to the new link. Then the RMBs' MRs corresponding to the new link will
be filled into LLC messages. For SMCRv1, they are ADD LINK CONT messages.

However smc_llc_add_link_cont() may mistakenly access to unused RMBs which
haven't been mapped to the new link and have no valid MRs, thus causing a
crash. So this patch fixes it.

Fixes: 87f88cd ("net/smc: rkey processing for a new link as SMC client")
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Wen Gu <[email protected]>
Reviewed-by: Wenjia Zhang <[email protected]>
Reviewed-by: Tony Lu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants