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

Zygisk cannot activate on some old Samsung devices with old kernel (3.19-) #5395

Closed
yujincheng08 opened this issue Feb 7, 2022 · 21 comments
Closed
Labels
wontfix Not going to fix it

Comments

@yujincheng08
Copy link
Collaborator

yujincheng08 commented Feb 7, 2022

For some old Samsung devices, there's a kernel restriction that whenever exec an ELF from /proc, the process can no longer call some systemcalls. For kernel 3.19+, the workaround is fexecve, but it does not exist for the old kernel. Users with those devices should use a custom kernel bypassing such a restriction or a newer version.

@chaoscalm
Copy link

chaoscalm commented Feb 8, 2022

I am on GalaxyS5 with kernel 3.4.113 which is even older, and Zygisk is successfully activated, I won't blame old samsung devices for something that seems a kernel regression affecting your device.

@pndwal
Copy link
Contributor

pndwal commented Feb 9, 2022

I am on GalaxyS5 with kernel 3.4.113 which is even older, and Zygisk is successfully activated, I won't blame old samsung devices for something that seems a kernel regression affecting your device.

@yujincheng08 is a dev; This Wontfix issue pinned as a notice is a spin-off of her fix:
[Refactor Zygisk loading]
ff7ac58

Basically, Zygisk was not turning in for S8 and earlier Sammy phones:
#5353
The issue was fixed for devices with kernel version >= 3.19:
#5372

... There is no specific device! This is a general Wontfix notice re Zygisk issue on "some Samsung devices w/ pre 3.19 kernel version...

@canyie
Copy link
Collaborator

canyie commented Feb 9, 2022

@hanoshita It depends on was Samsung added their stupid exec limitation in the kernel of your device, or not. If Zygisk works on your device, just enjoy it. This is just a notice which points out Zygisk bug reports from Samsung devices using old kernels will be ignored.

@gregsskyles
Copy link

Device: Samsung Android version: N/A Magisk version name: N/A Magisk version code: 24102
For some old Samsung devices, there's a kernel restriction that whenever exec an ELF from /proc, the process can no longer call some systemcalls. For kernel 3.19+, the workaround is fexecve, but it does not exist for the old kernel. Users with those devices should use a custom kernel bypassing such a restriction or a newer version.

Thank you for such a clear, understandable and explicit explanation of the issue!

@yujincheng08
Copy link
Collaborator Author

yujincheng08 commented Feb 12, 2022

Device: Samsung Android version: N/A Magisk version name: N/A Magisk version code: 24102
For some old Samsung devices, there's a kernel restriction that whenever exec an ELF from /proc, the process can no longer call some systemcalls. For kernel 3.19+, the workaround is fexecve, but it does not exist for the old kernel. Users with those devices should use a custom kernel bypassing such a restriction or a newer version.

Thank you for such a clear, understandable and explicit explanation of the issue!

It is just a copy from this issue... He is just spamming.

@gregsskyles
Copy link

Sorry, missed the earlier comment- came in the middle of this issue. But the thanks still applies to the OP.

@praveen28624
Copy link

I have Samsung device. It's kernel version is 3.18.140. I have same issue

@lovelylittleheart
Copy link

Tried to install from magisk 21.4 and Disable_Dm-Verity_ForceEncrypt_03.04.2020 with TWRP and update magisk to latest version all normal Zygisk is on. Tried Patch Magisk 24 to AP File Samsung Zygisk won't turn on. Must Change init.rc

Kernel : 3.18.140

@IverCoder
Copy link

The latest Canary has fixed this issue. The changelog says so and I have tested it on kernel v3.10.

@praveen28624
Copy link

The latest Canary has fixed this issue. The changelog says so and I have tested it on kernel v3.10.

How do I get latest canary?

@praveen28624
Copy link

Tried to install from magisk 21.4 and Disable_Dm-Verity_ForceEncrypt_03.04.2020 with TWRP and update magisk to latest version all normal Zygisk is on. Tried Patch Magisk 24 to AP File Samsung Zygisk won't turn on. Must Change init.rc

Kernel : 3.18.140

How do I get magisk 21.4

@pndwal
Copy link
Contributor

pndwal commented Mar 1, 2022

The latest Canary has fixed this issue. The changelog says so and I have tested it on kernel v3.10.

I think there is no fix as stated.

Some 3.19- kernels have the exec limitation, some don't, so some will work w/ Zygisk and some won't...

@xx979xx
Copy link

xx979xx commented Mar 2, 2022

I have Samsung S8 (SM-G950F) running Android 9 Pie, I struggled with this issue and I find the solution that worked for me very well. My kernal is not older than 3.19 obviously.
1- Download and install Magisk canary 24.1 721d8d3(24101) from #5353 Do not install the latest canary.
from @yujincheng08:

At last, plz try this: app-debug.zip

2- After installation, rename the file to magisk.apk and install the manger.
3- Only upgrade the manager to latest canary for better functionality. Do not upgrade Magisk!!!

@yujincheng08
Copy link
Collaborator Author

yujincheng08 commented Mar 19, 2022

I came up with an idea that may fix this:

use /system/bin/linker[64] /proc/self/fd/x to exec the origin app_process

but /proc/self/exe is the linker...

@luca990
Copy link

luca990 commented Mar 21, 2022

hi, with latest canary works, tested on Samsung S7 LineageOS 18.1 Android 11 kernel 3.18.140

@nm17
Copy link

nm17 commented Apr 3, 2022

I came up with an idea that may fix this:

@yujincheng08 So is this issue a wontfix or not? Is there a fix planned?

@ipdev99
Copy link

ipdev99 commented Apr 6, 2022

Canary 24102 broke Zygisk on Nexus 7 (2013) and Pixel C tablets.
[arm kernel 3.4.113] and [arm64 kernel 3.18.140]
After this commit 183e5f2 Zygisk again works on Nexus 7 (2013) and Pixel C tablets.
Both are currently running Lineage 19.1 builds.

@canyie
Copy link
Collaborator

canyie commented Apr 6, 2022

@ipdev99 The issue we are talking about is only for Samsung devices

@nm17
Copy link

nm17 commented Apr 7, 2022

@canyie I think I have the same issue on a Meizu M5 Note (old phone, around Android 7). Not sure how to prove it though. Kernel v3.18.35 on a aarch64.

@canyie
Copy link
Collaborator

canyie commented Apr 8, 2022

@nm17 I think it's better to open a new issue for that. Upload boot logcat so devs can take a look.

Repository owner locked as resolved and limited conversation to collaborators Apr 18, 2022
@yujincheng08 yujincheng08 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 23, 2022
@canyie canyie linked a pull request Mar 2, 2023 that will close this issue
3 tasks
@canyie
Copy link
Collaborator

canyie commented Nov 8, 2023

Fixed by 9fbd079

@canyie canyie closed this as completed Nov 8, 2023
@vvb2060 vvb2060 unpinned this issue Nov 8, 2023
@canyie canyie changed the title [Wontfix] Zygisk cannot activate on some old Samsung devices with old kernel (3.19-) Zygisk cannot activate on some old Samsung devices with old kernel (3.19-) Nov 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
wontfix Not going to fix it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

14 participants