lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1788637.Zkmt1EvEu4@suse>
Date:   Mon, 20 Mar 2023 15:09:57 +0100
From:   "Fabio M. De Francesco" <fmdefrancesco@...il.com>
To:     Khadija Kamran <kamrankhadijadj@...il.com>
Cc:     outreachy@...ts.linux.dev,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5] staging: axis-fifo: initialize timeouts in probe only

On lunedì 20 marzo 2023 07:00:28 CET Khadija Kamran wrote:
> On Thu, Mar 16, 2023 at 09:07:09PM +0100, Fabio M. De Francesco wrote:
> > On giovedì 16 marzo 2023 19:35:09 CET Khadija Kamran wrote:
> > > On Thu, Mar 16, 2023 at 05:17:47PM +0100, Fabio M. De Francesco wrote:
> > > > On giovedì 16 marzo 2023 16:09:08 CET Khadija Kamran wrote:
> > [snip]
> > 
> > > Hey Fabio!
> > > 
> > > Hope you are doing well. After  spending a lot of time on this I am
> > > stuck now. Kindly help me resolve this issue or understand it better.
> > > 
> > > Following your instructions I deleted my config file and copied one from
> > > the /boot/ directory. After that I enabled the dependencies(CONFIG_OF=y
> > > and CONFIG_HAS_IOMEM=y). I was successfully able to enable axis-fifo as
> > > a module.
> > > 
> > > I then ran the following commands:
> > >  - make drivers/staging/axis-fifo/
> 
> Hey Fabio!
> Sorry for reaching out to you very late. For the past two days I have
> had problems with my Virtual Machine. It is stuck at boot, and this
> happened after it accidentally shut down. I have tried to resolve this
> problem but nothing is working. Currently I have boot into an older
> kernel version from the GRUB menu.
> 
> I am also sharing the error here:
> Gave up waiting for root device. Common problems:
> -Boot args (cat /proc/cmdline)
>   -Check rootdelay= (did the system wait long enough?)
> -Missing modules (cat /proc/modules; ls /dev)
> ALERT! UUID=718ed077-947d-4018-80ad-59825678e81d does not exist.
> Dropping to a shell!
> BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.2) built-in shell (ash)
> Enter 'help' for a list of built-in commands.
> 
> I have Windows10 installed and I have created Ubunutu 22.04.1 VM on VMWare
> with 13GB RAM and 2 processors(4 cores each).
> 
> (initramfs)_
> 
> > No, this is not the right command... you are not invoking the linker to 
make
> > the .ko object.
> > 
> > Use "make M=drivers/staging/axis-fifo/"
> > or "make M=drivers/staging/axis-fifo/ W=1 -j8" (the latter to enable level
> > '1' warning and run on your 2 * 4 logical cores).
> 
> This command gives error saying:
> scripts/Makefile.build:41: /drivers/staging/axis-fifo/Makefile:
> No such file or directory
> make[1]: *** No rule to make target '/drivers/staging/axis-fifo/Makefile'. 
> Stop. make: *** [Makefile:2028: /drivers/staging/axis-fifo] Error 2
> 
> > >  - sudo make modules_install install(this command took hours) :'(
> > 
> > This is odd, it shouldn't :-/
> > 
> > As I said in another message, I'll set aside some time to help you check 
if
> > you need to fine tune your VM and Hypervisor configuration.
> > 
> > I'm returning on the same subject we have been talked about because you 
said
> > at least twice that your builds and install are too slow. We'll try to
> > diagnose it in an IRC session on #kernel-outreachy (I'm pretty sure for 
the
> > first days of next week - I'll send an invite).
> 
> Yes I would love that. Kindly help me with this.
> Thank you!
> 
> Regards,
> Khadija Kamran
> 
> > > > When you are done with build, install, and final reboot to test if 
your
> > > > module can "modprobe" or "insmod" (i.e. link with the running custom
> > 
> > kernel
> > 
> > > > you built, installed and boot), try to compare the output of the
> > > > following
> > > > commands:
> > > > 
> > > > # uname -a
> > > > Linux suse 6.2.2-1-default #1 SMP PREEMPT_DYNAMIC Thu Mar  9 06:06:13
> > > > UTC
> > > > 2023 (44ca817) x86_64 x86_64 x86_64 GNU/Linux
> > > 
> > > The above command works
> > > 
> > > > AND
> > > > 
> > > > # modinfo <name of the module you are testing here>
> > > 
> > > On running 'modinfo axis-fifo' I get error saying module axis-fifo not
> > > found.
> > 
> > Try again after building with "M=drivers/staging" (as said above). Don't
> > forget to run "make modules_install install" and then reboot into your
> > custom
> > built Kernel, not the distribution's kernel.
> > 
> > While you are there, run "lsmod" to see all loaded modules. Pick one
> > randomly
> > from the output list and run "modinfo
> > name_of_the_module_you_want_info_about".> 
> > > > I'm running "modinfo kvm" (but showing only two of many lines):
> > > > 
> > > > # modinfo kvm
> > > > filename:       /lib/modules/6.2.2-1-default/kernel/arch/x86/kvm/
> > 
> > kvm.ko.zst
> > 
> > > > vermagic:       6.2.2-1-default SMP preempt mod_unload modversions
> > > > 
> > > > Can you see that the kernel in "uname -a" and the filename and 
vermagic
> > 
> > have
> > 
> > > > the same "6.2.2-1-default"? Well, so I'm sure I'm running the right
> > > > Kernel
> > > > and inserted the appropriate "kvm" module.
> > > > 
> > > > Furthermore, before rebooting your custom kernel, you may also look at
> > > > the
> > > > directory in the Kernel where you compiled your module and search for
> > 
> > "*.o"
> > 
> > > > "*mod*" and "*.ko" files. If you have them, you built your module
> > 
> > properly.
> > 
> > > There is a "*.o" file and "*.mod" file but there is no "*.ko" file in
> > > the axis-fifo directory.
> > > 
> > > Kindly help me with this.
> > > 
> > > Regards,
> > > Khadija
> > > 
> > > > Thanks,
> > > > 
> > > > Fabio
> > 
> > Let me know if this time it works.
> > 
> > Fabio
> > 
> > P.S.: Have you had time to read that "Linux Kernel Module Programming" 
guide
> > I sent you the link of? You can find a lot of information about modules
> > there. I'd strongly recommend you to read it.

Khadija,

I think that you are trying to skip some passages. Let me explain better...

Soon after copying from /boot your new .config you should run "make 
menuconfig" or "make oldconfig" to re-create the necessary dependence and 
other files which are required to build properly.

I'd suggest "make menuconfig" so that you can check if you enabled correctly 
the module(s) you are interested to build and other built-in options you may 
optionally need.

Then you must rebuild and install. So...

1) "make menuconfig" (don't forget to save before exiting),
2) "make W=1 -j8" (because you have 8 logical cores reserved to your VMWare 
VM, correct?).
3) "make modules_install install".

At this point check that you have a fresh kernel image in /boot, that /boot/
grub/grub.conf contains a new entry with your freshly built custom kernel so 
that you can boot it from selecting the proper entry in the menu that you'll 
see after reboot. Also check that you have axis-fifo.ko under /lib/modules/
<the new kernel version>/build/drivers/staging/axis-fifo/.

For example in my VM for test I see axis-fifo with...

ls -l /lib/modules/6.3.0-rc2-x86-32-debug+/build/drivers/staging/axis-fifo/
total 564
-rw-r--r-- 1 1001 fsgqa    196 Mar 16 20:57 .Module.symvers.cmd
-rw-r--r-- 1 1001 fsgqa    275 Mar 17 15:39 .axis-fifo.ko.cmd
-rw-r--r-- 1 1001 fsgqa    183 Mar 12 20:29 .axis-fifo.mod.cmd
-rw-r--r-- 1 1001 fsgqa  50093 Mar 17 15:39 .axis-fifo.mod.o.cmd
-rw-r--r-- 1 1001 fsgqa  61110 Mar 17 15:37 .axis-fifo.o.cmd
-rw-r--r-- 1 1001 fsgqa    147 Mar 17 15:37 .modules.order.cmd
-rw-r--r-- 1 1001 fsgqa      0 Mar 16 20:57 Module.symvers
-rw-r--r-- 1 1001 fsgqa 255748 Mar 17 15:39 axis-fifo.ko
-rw-r--r-- 1 1001 fsgqa     38 Mar 12 20:29 axis-fifo.mod
-rw-r--r-- 1 1001 fsgqa   2354 Mar 17 15:38 axis-fifo.mod.c
-rw-r--r-- 1 1001 fsgqa  44604 Mar 17 15:39 axis-fifo.mod.o
-rw-r--r-- 1 1001 fsgqa 128156 Mar 17 15:37 axis-fifo.o
-rw-r--r-- 1 1001 fsgqa     38 Mar 17 15:37 modules.order

(as you can see, the last time I built and installed the kernel and the axis-
fifo driver's module was March 17, 15:39).

Please notice that my kernel has that "-x86-32-debug+" suffix after the kernel 
version but this depends on a special option I need to set to differentiate 
"debug" kernels from "production" kernels. You may have something else that 
your distribution appends.

If you can't find the module run again "ls -l" one level up, like in /lib/
modules/6.3.0-rc2-x86-32-debug+/build/drivers/staging/ to see if at least you 
have any of the drivers/staging/ modules. Go one more layer up if you don't 
find them.

If everything I cited above is where it is supposed to be and grub.conf is 
properly configured with the new entry, reboot and enjoy your module (try 
modprobe, modinfo, lsmod, and the likes).

Fabio 

Fabio




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ