NVSL / linux-nova

NOVA is a log-structured file system designed for byte-addressable non-volatile memories, developed at the University of California, San Diego.
http://nvsl.ucsd.edu/index.php?path=projects/nova
Other
421 stars 117 forks source link

Mounting pmem devices without a NOVA fs causes kernel Oops #50

Closed stevenjswanson closed 6 years ago

stevenjswanson commented 7 years ago

If you try to mount a pmem devices that has not been formatted with an NOVA fs, you get the following Oops:

[ 141.745336] nova: nova_get_nvmm_info: dev pmem0, phys_addr 0x200000000, virt_addr ffffa0d000000000, size 23622320128 [ 141.745344] nova: measure timing 0, metadata checksum 0, inplace update 0, wprotect 0, data checksum 0, data parity 0, DRAM checksum 0 [ 141.745429] nova: Start NOVA snapshot cleaner thread. [ 141.745436] nova: Running snapshot cleaner thread [ 141.745437] nova error: [ 141.745438] Can't find a valid nova partition [ 141.745439] nova: Memory contains invalid nova 0:4e4f5641 [ 141.745448] BUG: unable to handle kernel NULL pointer dereference at 0000000000000068 [ 141.745454] IP: mount_fs+0x43/0x140 [ 141.745455] PGD 0 [ 141.745456] P4D 0

[ 141.745457] Oops: 0000 [#1] SMP [ 141.745459] Modules linked in: nova ip6table_filter ip6_tables iptable_filter nls_iso8859_1 input_leds serio_raw pvpanic ib_iser rdma_cm configfs iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi parport_pc ppdev parport ip_tables x_tables autofs4 btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel aes_x86_64 crypto_simd cryptd glue_helper psmouse virtio_net virtio_scsi [ 141.745484] CPU: 2 PID: 32702 Comm: mount Not tainted 4.12.0-nova #1

Andiry commented 7 years ago

What do you mean "without a NOVA fs"? Can you specify the reproducing steps?

stevenjswanson commented 7 years ago

Hmm...

I can't seem to reproduce. For some uninteresting reasons, I can't try it again on the system it happened on.

Andiry commented 6 years ago

Fixed in the latest version.