Giter Club home page Giter Club logo

cartographer's People

Contributors

lwss avatar telans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cartographer's Issues

[bug] Version magic mismatch

[telans@desktop Cartographer]$ make
make -C /lib/modules/5.1.7-arch1-1-ARCH/build M=/home/telans/Documents/coding/Cartographer modules
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/lib/modules/5.1.7-arch1-1-ARCH/build'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory '/usr/lib/modules/5.1.7-arch1-1-ARCH/build'

[telans@desktop Cartographer]$ sudo insmod cartographer.ko
[sudo] password for telans:
insmod: ERROR: could not insert module cartographer.ko: Invalid module format

[telans@desktop Cartographer]$ uname -r
5.1.7-arch1-1-ARCH

journald output from insmod:

cartographer: version magic '5.1.6-arch1-1-ARCH SMP preempt mod_unload ' should be '5.1.7-arch1-1-ARCH SMP preempt mod_unload '

There are a few places online which mention other kernel configurations, but it seems I have all of them active within the arch kernel anyways.
https://devtalk.nvidia.com/default/topic/921545/jetson-tx1/version-magic-does-not-match-in-kernel-module/post/5279374/#5279374
https://stackoverflow.com/a/55937906

linux-headers are up to date with kernel.

To be clear, the previous kernel/headers worked perfectly, it just seems to be some version number stuck somewhere and I'm not too sure how to fix it.

Cheers

Contact Method?

What is the best way to contact you? Any chance do you have Discord?

Thanks

Doesn't work with linux-zen kernel

insmod: ERROR: could not insert module cartographer.ko: Invalid parameters
[ 1270.335828] cartographer: ftrace_set_filter_ip() failed: -22

Missing LICENSE.md

I'd like to put this in the AUR, if that's alright.

It would be good to get a basic license in the repo or permission from you, if you wouldn't mind. Cheers

additional information for debian/ubuntu/linux mint users

linux mint 19.3
kernel 5.5.7-050507-generic
./arch/x86/include/asm/page_64.h: In function ‘clear_page’: ././include/linux/compiler_types.h:210:24: error: expected ‘(’ before ‘__inline’ #define asm_inline asm __inline
it worked after this:
sudo add-apt-repository ppa:jonathonf/gcc-9.0
sudo apt update
sudo apt install gcc-9
sudo apt install g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9

Add it to system requirements pls

AUR issues, compilation issues, insmod issues.

Hello, I wanted to check this out and firstly I tried to install from AUR but it kept failing with [code block 1]

So I tried to compile it myself and the same errors occured. I swapped FTRACE_OPS_FL_RECURSION_SAFE with FTRACE_OPS_FL_RECURSION, changed ftrace_thunk's last parameters type from pt_regs regs to ftrace_regs fregs and added struct pt_regs *regs = ftrace_get_regs(fregs); (solution from) and lastly I changed h33p's kallsyms thing from livepatch to kprobes.
It compiled successfully but when I tried to insmod it, I got invalid module format

I can successfully compile and insmod h33p's kallsyms-mod.

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                                                                                                  [----------------------------------------------------------------------------------------] 100%
(1/1) checking package integrity                                                                                                                [----------------------------------------------------------------------------------------] 100%
(1/1) loading package files                                                                                                                     [----------------------------------------------------------------------------------------] 100%
(1/1) checking for file conflicts                                                                                                               [----------------------------------------------------------------------------------------] 100%
(1/1) checking available disk space                                                                                                             [----------------------------------------------------------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Remove upgraded DKMS modules
==> Unable to remove module cartographer-dkms-git/r16.78a704a for kernel 5.11.11-arch1-1: Not found in dkms status output.
:: Processing package changes...
(1/1) reinstalling cartographer-dkms-git                                                                                                        [----------------------------------------------------------------------------------------] 100%
:: Running post-transaction hooks...
(1/3) Triggering wallpaper regeneration...
(2/3) Arming ConditionNeedsUpdate...
(3/3) Install DKMS modules
==> dkms install --no-depmod -m cartographer-dkms-git -v r16.78a704a -k 5.11.11-arch1-1
Error! Bad return status for module build on kernel: 5.11.11-arch1-1 (x86_64)
Consult /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m cartographer-dkms-git -v r16.78a704a -k 5.11.11-arch1-1' returned 10
==> depmod 5.11.11-arch1-1

The build error at /var/lib is:

DKMS make.log for cartographer-dkms-git-r16.78a704a for kernel 5.11.11-arch1-1 (x86_64)
Fri Apr  9 10:42:32 PM +03 2021
make: Entering directory '/usr/lib/modules/5.11.11-arch1-1/build'
  CC [M]  /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.o
  CC [M]  /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.o
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:5:24: error: array type has incomplete element type ‘struct klp_func’
    5 | static struct klp_func funcs[] = {
      |                        ^~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:12:24: error: array type has incomplete element type ‘struct klp_func’
   12 | static struct klp_func failfuncs[] = {
      |                        ^~~~~~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:18:26: error: array type has incomplete element type ‘struct klp_object’
   18 | static struct klp_object objs[] = {
      |                          ^~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:28:15: error: variable ‘patch’ has initializer but incomplete type
   28 | static struct klp_patch patch = {
      |               ^~~~~~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:29:3: error: ‘struct klp_patch’ has no member named ‘mod’
   29 |  .mod = THIS_MODULE,
      |   ^~~
In file included from ./include/linux/linkage.h:7,
                 from ./include/linux/kernel.h:7,
                 from ./include/linux/list.h:9,
                 from ./include/linux/module.h:12,
                 from ./include/linux/livepatch.h:12,
                 from /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:3:
./include/linux/export.h:17:21: warning: excess elements in struct initializer
   17 | #define THIS_MODULE (&__this_module)
      |                     ^
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:29:9: note: in expansion of macro ‘THIS_MODULE’
   29 |  .mod = THIS_MODULE,
      |         ^~~~~~~~~~~
./include/linux/export.h:17:21: note: (near initialization for ‘patch’)
   17 | #define THIS_MODULE (&__this_module)
      |                     ^
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:29:9: note: in expansion of macro ‘THIS_MODULE’
   29 |  .mod = THIS_MODULE,
      |         ^~~~~~~~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:30:3: error: ‘struct klp_patch’ has no member named ‘objs’
   30 |  .objs = objs,
      |   ^~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:30:10: warning: excess elements in struct initializer
   30 |  .objs = objs,
      |          ^~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:30:10: note: (near initialization for ‘patch’)
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.c: In function ‘cart_startup’:
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.c:291:32: error: assignment to ‘ftrace_func_t’ {aka ‘void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)’} from incompatible pointer type ‘void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct pt_regs *)’ [-Werror=incompatible-pointer-types]
  291 |     show_map_vma_hook.ops.func = ftrace_thunk;
      |                                ^
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c: In function ‘init_kallsyms’:
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:40:10: error: implicit declaration of function ‘klp_enable_patch’ [-Werror=implicit-function-declaration]
   40 |  int r = klp_enable_patch(&patch);
      |          ^~~~~~~~~~~~~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c: At top level:
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:28:25: error: storage size of ‘patch’ isn’t known
   28 | static struct klp_patch patch = {
      |                         ^~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c: In function ‘kallsyms_lookup_name’:
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:36:1: error: control reaches end of non-void function [-Werror=return-type]
   36 | }
      | ^
At top level:
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:18:26: warning: ‘objs’ defined but not used [-Wunused-variable]
   18 | static struct klp_object objs[] = {
      |                          ^~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:12:24: warning: ‘failfuncs’ defined but not used [-Wunused-variable]
   12 | static struct klp_func failfuncs[] = {
      |                        ^~~~~~~~~
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.c:5:24: warning: ‘funcs’ defined but not used [-Wunused-variable]
    5 | static struct klp_func funcs[] = {
      |                        ^~~~~
cc1: some warnings being treated as errors
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.c:293:37: error: ‘FTRACE_OPS_FL_RECURSION_SAFE’ undeclared (first use in this function); did you mean ‘FTRACE_OPS_FL_RECURSION’?
  293 |                                   | FTRACE_OPS_FL_RECURSION_SAFE
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                     FTRACE_OPS_FL_RECURSION
/var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.c:293:37: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [scripts/Makefile.build:279: /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/kallsyms.o] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:279: /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build/cartographer.o] Error 1
make: *** [Makefile:1809: /var/lib/dkms/cartographer-dkms-git/r16.78a704a/build] Error 2
make: Leaving directory '/usr/lib/modules/5.11.11-arch1-1/build'`

Looks like broken on linux 5.6 kernel

It fails with compilation error.

 error: passing argument 4 of ‘proc_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  299 |     struct proc_dir_entry *entry = proc_create(PROC_FILENAME, 0, NULL, &file_ops);
      |                                                                        ^~~~~~~~~
      |                                                                        |
      |                                                                        struct file_operations 

My kernel is Linux kolay-arch 5.6.2-1-MANJARO #1 SMP PREEMPT Thu Apr 2 11:32:09 UTC 2020 x86_64 GNU/Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.