Kernel NULL pointer dereference, address: 0000000000000000 sur copier/coller

Bonjour,

Debian 12 cinnamon sur dell latitude 5500.

Je travaille avec plusieurs répertoires réseaux. j’ai besoin pour les monter de smbclient, cifs-utils et winbind. Je peux les monter simplement avec mount -t cifs -o uid= utilisateur ,user=<identifiant réseau> //MonServeur/MonPartage /media/MonPartage.

En live USB (debian-live-12.4.0-amd64-cinnamon.iso) j’installe mes trois paquets, je monte mon répertoire réseau, je fais une copie d’un fichier dans son répertoire => no pb.

Je fais l’installe à partir de la même clé USB, j’installe mes trois paquets, je monte mon répertoire réseau, je fais une copie d’un fichier dans son répertoire =>

[  169.856997] BUG: kernel NULL pointer dereference, address: 0000000000000000
[  169.857011] #PF: supervisor read access in kernel mode
[  169.857017] #PF: error_code(0x0000) - not-present page
[  169.857023] PGD 0 P4D 0 
[  169.857031] Oops: 0000 [#1] PREEMPT SMP NOPTI
[  169.857040] CPU: 2 PID: 3721 Comm: pool-nemo Not tainted 6.1.0-17-amd64 #1  Debian 6.1.69-1
[  169.857051] Hardware name: Dell Inc. Latitude 5500/0M14W7, BIOS 1.27.0 11/03/2023
[  169.857055] RIP: 0010:cifs_flush_folio+0x3f/0x100 [cifs]
[  169.857247] Code: d2 41 54 49 89 cc 31 c9 55 48 89 f5 48 c1 ee 0c 53 48 83 ec 08 48 8b 7f 30 e8 8d 0a 54 f3 48 3d 00 f0 ff ff 0f 87 a5 00 00 00 <48> 8b 10 48 89 c3 b8 00 10 00 00 f7 c2 00 00 01 00 74 07 0f b6 4b
[  169.857255] RSP: 0018:ffffa86dc312bcf0 EFLAGS: 00010207
[  169.857264] RAX: 0000000000000000 RBX: 00000000001fe98b RCX: 0000000000000000
[  169.857270] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff93e38a3d4e00
[  169.857275] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
[  169.857280] R10: 00000000001fe98a R11: ffff93e389dc4400 R12: ffffa86dc312bd60
[  169.857285] R13: ffffa86dc312bd58 R14: ffff93e3d6e5e450 R15: 0000000000000001
[  169.857290] FS:  00007f68269fe6c0(0000) GS:ffff93e6fc480000(0000) knlGS:0000000000000000
[  169.857297] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  169.857303] CR2: 0000000000000000 CR3: 0000000160cb8001 CR4: 00000000003706e0
[  169.857308] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  169.857313] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  169.857318] Call Trace:
[  169.857325]  <TASK>
[  169.857331]  ? __die_body.cold+0x1a/0x1f
[  169.857345]  ? page_fault_oops+0xd2/0x2b0
[  169.857356]  ? mntput_no_expire+0x4a/0x250
[  169.857370]  ? exc_page_fault+0x70/0x170
[  169.857380]  ? asm_exc_page_fault+0x22/0x30
[  169.857397]  ? cifs_flush_folio+0x3f/0x100 [cifs]
[  169.857581]  ? cifs_precopy_set_eof+0x2b/0x150 [cifs]
[  169.857753]  cifs_remap_file_range+0x16d/0x680 [cifs]
[  169.857922]  do_clone_file_range+0xe6/0x230
[  169.857932]  vfs_clone_file_range+0x37/0x140
[  169.857940]  ioctl_file_clone+0x49/0xb0
[  169.857950]  do_vfs_ioctl+0x77/0x910
[  169.857959]  __x64_sys_ioctl+0x6e/0xd0
[  169.857968]  do_syscall_64+0x58/0xc0
[  169.857984]  ? syscall_exit_to_user_mode+0x27/0x40
[  169.857997]  ? do_syscall_64+0x67/0xc0
[  169.858009]  ? do_syscall_64+0x67/0xc0
[  169.858020]  entry_SYSCALL_64_after_hwframe+0x64/0xce
[  169.858032] RIP: 0033:0x7f6839be0b5b
[  169.858039] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[  169.858046] RSP: 002b:00007f68269fd700 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  169.858055] RAX: ffffffffffffffda RBX: 000055d5224fff80 RCX: 00007f6839be0b5b
[  169.858060] RDX: 0000000000000016 RSI: 0000000040049409 RDI: 0000000000000017
[  169.858065] RBP: 000055d52255d800 R08: 00007f68180285a0 R09: 0000000000000004
[  169.858070] R10: aaaaaaaaaaaaaaab R11: 0000000000000246 R12: 0000000000000016
[  169.858074] R13: 00007f68269fd988 R14: 000055d5225d8a60 R15: 0000000000000000
[  169.858083]  </TASK>
[  169.858088] Modules linked in: nls_utf8 cifs cifs_arc4 cifs_md4 dns_resolver fscache netfs isofs cdrom rfcomm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device snd_hda_codec_hdmi qrtr cmac algif_hash algif_skcipher af_alg bnep binfmt_misc nls_ascii nls_cp437 vfat fat x86_pkg_temp_thermal intel_powerclamp snd_sof_pci_intel_cnl coretemp snd_sof_intel_hda_common kvm_intel soundwire_intel soundwire_generic_allocation snd_ctl_led soundwire_cadence kvm btusb snd_sof_intel_hda irqbypass btrtl iwlmvm snd_sof_pci btbcm snd_hda_codec_realtek btintel snd_sof_xtensa_dsp btmtk snd_sof snd_hda_codec_generic dell_rbtn ghash_clmulni_intel bluetooth snd_sof_utils soundwire_bus mac80211 snd_soc_skl sha256_ssse3 snd_soc_hdac_hda snd_hda_ext_core snd_soc_sst_ipc sha1_ssse3 snd_soc_sst_dsp snd_soc_acpi_intel_match libarc4 snd_soc_acpi snd_soc_core iwlwifi mei_wdt mei_hdcp jitterentropy_rng snd_compress aesni_intel snd_hda_intel sha512_ssse3 snd_intel_dspcfg crypto_simd sha512_generic snd_intel_sdw_acpi
[  169.858240]  cryptd cfg80211 intel_rapl_msr uvcvideo snd_hda_codec ctr rapl drbg videobuf2_vmalloc snd_hda_core videobuf2_memops snd_hwdep ansi_cprng dell_laptop snd_pcm videobuf2_v4l2 ledtrig_audio iTCO_wdt dell_wmi videobuf2_common intel_cstate ecdh_generic dell_smm_hwmon dell_smbios intel_uncore dell_wmi_sysman firmware_attributes_class pcspkr snd_timer intel_pmc_bxt processor_thermal_device_pci_legacy videodev dcdbas mei_me sd_mod iTCO_vendor_support processor_thermal_device processor_thermal_rfim snd ucsi_acpi intel_wmi_thunderbolt dell_wmi_descriptor watchdog mc wmi_bmof ee1004 sg mei soundcore typec_ucsi rfkill processor_thermal_mbox processor_thermal_rapl roles ecc intel_rapl_common typec intel_soc_dts_iosf intel_pch_thermal int3403_thermal joydev int340x_thermal_zone dell_smo8800 int3400_thermal acpi_thermal_rel ac acpi_pad intel_hid intel_pmc_core sparse_keymap hid_multitouch evdev serio_raw msr parport_pc ppdev lp parport dm_mod fuse loop efi_pstore configfs ip_tables
[  169.858385]  x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic zstd_compress efivarfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod uas usb_storage usbhid scsi_mod scsi_common i915 hid_generic nvme drm_buddy i2c_algo_bit nvme_core drm_display_helper t10_pi cec rc_core ttm crc64_rocksoft crc64 crc_t10dif rtsx_pci_sdmmc xhci_pci crct10dif_generic xhci_hcd drm_kms_helper mmc_core intel_lpss_pci video i2c_hid_acpi i2c_i801 i2c_hid intel_lpss crct10dif_pclmul crc32_pclmul thunderbolt drm crc32c_intel psmouse e1000e usbcore rtsx_pci i2c_smbus crct10dif_common hid idma64 usb_common battery button wmi
[  169.858517] CR2: 0000000000000000
[  169.858523] ---[ end trace 0000000000000000 ]---
[  171.055335] RIP: 0010:cifs_flush_folio+0x3f/0x100 [cifs]
[  171.055439] Code: d2 41 54 49 89 cc 31 c9 55 48 89 f5 48 c1 ee 0c 53 48 83 ec 08 48 8b 7f 30 e8 8d 0a 54 f3 48 3d 00 f0 ff ff 0f 87 a5 00 00 00 <48> 8b 10 48 89 c3 b8 00 10 00 00 f7 c2 00 00 01 00 74 07 0f b6 4b
[  171.055442] RSP: 0018:ffffa86dc312bcf0 EFLAGS: 00010207
[  171.055444] RAX: 0000000000000000 RBX: 00000000001fe98b RCX: 0000000000000000
[  171.055446] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff93e38a3d4e00
[  171.055447] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
[  171.055448] R10: 00000000001fe98a R11: ffff93e389dc4400 R12: ffffa86dc312bd60
[  171.055450] R13: ffffa86dc312bd58 R14: ffff93e3d6e5e450 R15: 0000000000000001
[  171.055451] FS:  00007f68269fe6c0(0000) GS:ffff93e6fc480000(0000) knlGS:0000000000000000
[  171.055453] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  171.055454] CR2: 0000000000000000 CR3: 0000000160cb8001 CR4: 00000000003706e0
[  171.055456] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  171.055457] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  171.055459] note: pool-nemo[3721] exited with irqs disabled

Je traine le pb depuis un moment, j’ai essayé plein de choses différentes, j’en suis à ce protocole simple … je ne sais plus quoi faire à vrai dire.

Merci d’avance
@+

Le noyau du système live 12.4.0 est plus ancien. Qu’est-ce que ça donne en démarrant avec la même version de noyau que le système live ?

Bonjour,
normalement, c’est -o username=<user>
Autre point ajour l’option vers=3.0 sinon tu vas avoir des problèmes de taux de transfert à moins que le server ne fasse les partages avec des version plus basses (1.x et 2.x)
Quand tu parles d’installer les trois paquets pourquoi utiliser une clef et pas directement les dépots Debian?

Où bien Debian n’est pas installé sur la machine? ce n’est pas clair.

Hello,

PH> well done (jusqu’ici) ça marche. Je veux dire … Je pensais qu’en faisant une install sans mise à jour, j’avais le même noyau que celui de la live, mais c’est pas le cas. Et donc dans les autres noyaux dispo au boot j’avais le linux-image-6.1.0-15 alors qu’après l’install c’était le linux-image-6.1.0-17 par défaut. Maintenant je fais quoi ? Je vois 2 pbs 1) faut que je boot tout le temps sur celui là 2) comment je gère les MAJ de noyau ?

Zargos> username OK. Je sais que j’ai un serveur en V1, les autres je ne sais pas, mais j’avais compris qu’il y avait une « négociation » entre le client et le serveur et que la version la plus appropriée de smb était utilisée. Mais je peux forcer vers=3.0. J’installe les trois paquets par les dépôts debian, sudo apt install . Je vois pas ce que tu entends par « clef ». Finalement, dans ce que j’ai écrit plus haut, en deux étapes 1) en bootant sur la clé USB c’était OK 2) en faisant l’install sur le HD ça marchait plus. Mais l’objectif est bien que j’utilise une debian sur le HD, l’étape usb live était juste pour test.

Merci
@+

Pour mon pb 1 :
sudo cp /etc/default/grub /etc/default/grub.old
sudo gedit /etc/default/grub
je passe GRUB_DEFAULT à saved et j’aoute GRUB_SAVEDEFAULT=true (source : tutoriel:grub2_parametrage_manuel [Wiki ubuntu-fr])
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
et finalement
sudo update-grub

EDIT : OK vérifié, ça, ça marche. C-à-d. que par défaut le menu Advanced[…] au lieu du premier item et dans Advanced[…] c’est bien le noyau (…].0.15 qui est sélectionné par défaut. Donc si je ne fais rien c’est bien ce noyau qui se charge automatiquement.

Il s’agit donc d’une régression dans le dernier noyau -17. Ce n’est hélas pas la première dans la série 6.1 supposée être « stable »… Cependant les noyaux précédents ont d’autres bugs/régressions notamment sur le wifi, et des failles de sécurité. Les utiliser n’est donc pas une solution d’avenir.

Il faudrait vérifier dans le bug tracker de Debian si le problème a déjà été signalé, et sinon faire un rapport de bug.

Wé. Je l’ai mauvaise parce que j’installe des debian parce c’est « solid as a rock »
Bref …
Pour mon pb n2 :
$ uname -r
6.1.0-15-amd64
$ sudo apt-mark hold 6.1.0-15-amd64
linux-headers-6.1.0-15-amd64 passé en figé (« hold »).
linux-image-6.1.0-15-amd64-dbg passé en figé (« hold »).
linux-image-6.1.0-15-amd64-unsigned passé en figé (« hold »).
linux-image-6.1.0-15-amd64 passé en figé (« hold »).
J’ai bon ? (source : updates - How to I prevent Ubuntu from kernel version upgrade and notification? - Ask Ubuntu)

Merci
@+

Non ça ne marche pas, il ne prend pas par défaut la version la plus élevée.

Evite si le serveur lui n’est qu’en V1 ou alors change les paramètres du serveur pour le mettre en V3 si c’est possible.

S’il prend la plus élevé, il prendra V3 ?
J’ai pas la main sur les serveurs, je suis utilisateur. J’ai juste compris qu’un serveur était en V1 parce qu’il est ancien et lors du passage de debian10 à debian11, il fallait spécifier explicitement vers=1.0. Je comptais forcer vers=3.0 pour les autres, mais s’il prends la plus élevée, ce n’est pas nécessaire.
Merci
@+
Mob.

EDIT
man mount-cifs :

vers=arg
SMB protocol version. Allowed values are:

          [...]

          • default - Tries to negotiate the highest SMB2+  version  supported  by  both  the
            client and server.

C’est le souvenir que j’avais.

Justement non :slight_smile: il ne prend pas forcément la plus élevée car si Debian essaye de le faire, le serveur ne réagit pas forcement de la même façon.
J’ai eu le problème avec mon Synology par exemple, qui, si je ne précise pas que je veux du vers=3.0 me propose le premier qu’il a.

Hello,

Il faudrait vérifier dans le bug tracker de Debian si le problème a déjà été signalé, et sinon faire un rapport de bug.

Je suis convaincu de l’utilité du truc, je viens d’installer reportbug après avoir été ici :
https://www.debian.org/Bugs/
mais je ne saurais pas dire pour quel package je reporte un bug …

linux-image-6.1.0-17-amd64