Merge tag 'pstore-v4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 May 2017 17:35:45 +0000 (10:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 May 2017 17:35:45 +0000 (10:35 -0700)
Pull pstore updates from Kees Cook:
 "This has a large internal refactoring along with several smaller
  fixes.

   - constify compression structures; Bhumika Goyal

   - restore powerpc dumping; Ankit Kumar

   - fix more bugs in the rarely exercises module unloading logic

   - reorganize filesystem locking to fix problems noticed by lockdep

   - refactor internal pstore APIs to make development and review
     easier:
      - improve error reporting
      - add kernel-doc structure and function comments
      - avoid insane argument passing by using a common record
        structure"

* tag 'pstore-v4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (23 commits)
  pstore: Solve lockdep warning by moving inode locks
  pstore: Fix flags to enable dumps on powerpc
  pstore: Remove unused vmalloc.h in pmsg
  pstore: simplify write_user_compat()
  pstore: Remove write_buf() callback
  pstore: Replace arguments for write_buf_user() API
  pstore: Replace arguments for write_buf() API
  pstore: Replace arguments for erase() API
  pstore: Do not duplicate record metadata
  pstore: Allocate records on heap instead of stack
  pstore: Pass record contents instead of copying
  pstore: Always allocate buffer for decompression
  pstore: Replace arguments for write() API
  pstore: Replace arguments for read() API
  pstore: Switch pstore_mkfile to pass record
  pstore: Move record decompression to function
  pstore: Extract common arguments into structure
  pstore: Add kernel-doc for struct pstore_info
  pstore: Improve register_pstore() error reporting
  pstore: Avoid race in module unloading
  ...

1  2 
drivers/firmware/efi/efi-pstore.c

index 6b5acefce6b360fdb74f72cffa857bb75295ecb8,93d8cdbe7ef49361bd28a49083eb86478e0a0f4f..ed3137c1ceb0c0ed0fcbb1c94bffdf1a4811bf41
@@@ -274,14 -254,14 +254,14 @@@ static int efi_pstore_write(struct psto
        for (i = 0; i < DUMP_NAME_LEN; i++)
                efi_name[i] = name[i];
  
 -      efivar_entry_set_safe(efi_name, vendor, PSTORE_EFI_ATTRIBUTES,
 +      ret = efivar_entry_set_safe(efi_name, vendor, PSTORE_EFI_ATTRIBUTES,
-                                   !pstore_cannot_block_path(reason),
-                                   size, psi->buf);
+                             !pstore_cannot_block_path(record->reason),
+                             record->size, record->psi->buf);
  
-       if (reason == KMSG_DUMP_OOPS)
+       if (record->reason == KMSG_DUMP_OOPS)
                efivar_run_worker();
  
-       *id = part;
+       record->id = record->part;
        return ret;
  };