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-next>] [day] [month] [year] [list]
Message-ID: <20151221234615.GW20997@ZenIV.linux.org.uk>
Date:	Mon, 21 Dec 2015 23:46:15 +0000
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org
Subject: [RFC] free_pages stuff

	FWIW, I'd done a proof-of-concept patch series converting the things
to
	* free_page() and free_pages() taking the address to free as a pointer
	* get_zeroed_page() returning a pointer
	* get_free_page()/get_free_pages() added, both returning a pointer
	* __get_dma_pages() replaced with get_dma_page() (again, returns
a pointer)

Result is in
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.pages

The first 3 commits in there are flagday ones; doing them from scratch took
about 4 hours total.  The rest isn't system-wide (well, after introduction
of get_free_page() there's a bulk replacement of 
	something *p = (something *)__get_free_page(...);
with
	something *p = get_free_page(...);
but all chunks of that are independent - it can be split by subsystem,
etc.) and would go into individual subsystem trees at leisure.

83 commits so far, 568 files changed, 1956 insertions(+), 2202 deletions(-)
Total: 70 casts added, 1408 removed.  All __get_free_page() calls in the
tree converted; a few __get_free_pages() ones remain (6, AFAICS).

This was mostly a proof-of-concept thing - fixes for bogosities caught in
process will, of course, be cherry-picked and sent to relevant trees,
but the main goal was to find out how much boilerplating is there due to
signatures of free_page, __get_free_page and friends (see above - more than
a thousand casts, with usual effect on safety, etc.) and how painful would the
series be (several hours to do the flagday part from scratch, not particularly
hard to do followup cleanups; most of those cleanups will be trivial to rebase)

IMO the results look interesting.  It's obviously too late in this cycle
(and I used the mainline circa last Thursday as the starting point), but
I could redo the flagday ones easily at any point - for example, overnight
after -rc1.  I'm not sure what's the best merge strategy here - I could put
these 3 into a never-rebased branch, include it into for-next and ask the
folks to pull it into their trees before adding followups.  Alternatively,
we could put these 3 into mainline right after -rc1 (or even into it, if you
give me several hours of warning along the lines of "I'm done merging subtrees
into -rc1 now").

In any case, decision whether to do that thing at all belongs to you - it's
a flagday change in several functions used all over the tree and whichever
way we do it, I need an explicit ACK from you on the change in principle.
If you consider that change too disruptive, please say so.  I'm not asking
to ACK the specific patch series, just the possibility of this API change.

Please, take a look at that branch and comment.  I've taken that about as
far as I can without an ACK or NAK from you...

Shortlog:
Al Viro (83):
      switch free_page() from unsigned long to const void *
      switch free_pages() from unsigned long to const void *
      switch get_zeroed_page() to returning void *
      kill unused {get,free}_user_page()
      switch copy_mount_options to storing void * instead of unsigned long
      drivers/net/wireless/libertas/debugfs.c: get rid of pointless casts
      drivers/net/wireless/mwifiex/debugfs.c: get rid of pointless casts
      affs_evict_inode(): get rid of pointless casts
      configfs_follow_link(): get rid of pointless casts
      kernfs_iop_follow_link(): get rid of pointless casts
      sound/oss/vidc: keep dma_buf[] as pointers
      drivers/tty: get rid of pointless casts
      rds: keep pointers in ->m_page_addrs[]
      proc_dev_atm_read(): get rid of pointless casts
      qib get_map_page(): get rid of pointless casts
      user_namespace: get rid of pointless casts
      ftrace: get rid of pointless casts
      sysctl: get rid of pointless casts
      xenstored_local_init(): get rid of pointless casts
      staging/rdma: get rid of pointless casts
      c6x: remove unused macros
      [davinci] ccdc_update_raw_params() frees the wrong thing
      fd_dma_mem_free(): pass address as void * instead of unsigned long
      ppc: keep ->hpt_virt as a pointer
      dma_4u_alloc_coherent(): don't mix virtual and physical addresses
      dma_4v_alloc_coherent(): don't mix virtual and physical addresses
      new helper: get_dma_pages()
      make fd_dma_mem_alloc/nodma_mem_alloc return a pointer
      switch the remaining users of __get_dma_pages() to get_dma_pages()
      sparc: get rid of pointless casts
      efficeon: get rid of pointless casts
      lguest: get rid of pointless casts
      drivers/pci: get rid of pointless casts
      drivers/s390: ger rid of pointless casts
      s390 kvm: get rid of pointless casts
      pcibios: get rid of pointless casts
      ste_dma40: get rid of pointless casts
      usb_mon: get rid of pointless casts
      gnttab_end_foreign_access(): switch the last argument to void *
      nios2: dma_free_coherent(): get rid of pointless casts
      hsi: get rid of pointless casts
      simserial: get rid of pointless casts
      arm64 vdso: get rid of pointless casts
      cris free_init_page(): switch to __free_page()
      arm: switch kvm_arm_hyp_stack_page to void *
      frv consistent_alloc(): switch page to void *
      ia64: uncached_add_chunk(): switch to __free_pages()
      jfs_readdir(): make dirent_buf a pointer
      get rid of casts in alloc_exact stuff
      s390 cmm: get rid of pointless casts
      microblaze consistent_alloc(): get rid of pointless casts
      devm_{get_}free_pages(): switch to pointers
      cavium: (partially) get rid of cargo-culting in allocator
      um: store stacks as pointers
      sh: get rid of pointless casts
      amd_gart_64: get rid of pointless casts
      iwlegacy: get rid of pointless casts
      iwlwifi: get rid of pointless casts
      add pointer-returning variants of __get_free_pages/__get_free_page
      switch obvious cases to get_free_pages()
      switch obvious cases to get_free_page()
      m68k: switch pte_alloc_one_kernel() to get_free_page()
      switch kvmppc_core_vcpu_create_pr() to get_free_page()
      drivers/video/fbdev: switch to get_free_pages()
      um: switch to get_free_page()
      switch xen_get_swiotlb_free_pages() to returning a pointer
      mn10300 dma_alloc_coherent(): switch to get_free_pages()
      switch ps3_dma_map() and ps3_dma_region_ops->map() instances to physical address
      ps3_alloc_coherent(): get rid of pointless casts
      s390_dma_alloc(): page_to_phys() result is always a multiple of PAGE_SIZE
      s390_dma_alloc(): use page_address()
      [powerpc] switch cmm_page_array->pages[] to pointers
      niu.c: get rid of pointless casts
      [s390] switch pcpu_alloc_lowcore() to get_free_page()
      kill __get_free_page()
      [mips, s390, score] turn empty_zero_page into pointer
      sparc: switch to get_free_pages()
      x86: switch to get_free_pages()
      s390: turn suspend_zero_pages into a pointer
      [sun3] try to sort dvma types out
      sba_iommu: get rid of pointless casts
      media/platform/omap: get rid of pointless casts
      nios2: get rid of pointless casts

Diffstat:
 arch/alpha/include/asm/agp.h                       |  4 +-
 arch/alpha/include/asm/pgalloc.h                   | 10 +--
 arch/alpha/kernel/pci-noop.c                       |  4 +-
 arch/alpha/kernel/pci_iommu.c                      |  6 +-
 arch/alpha/kernel/srm_env.c                        |  8 +-
 arch/alpha/mm/init.c                               |  2 +-
 arch/arc/include/asm/page.h                        |  3 -
 arch/arc/include/asm/pgalloc.h                     | 12 +--
 arch/arc/kernel/setup.c                            |  4 +-
 arch/arc/kernel/troubleshoot.c                     |  8 +-
 arch/arm/include/asm/kvm_host.h                    |  4 +-
 arch/arm/include/asm/page-nommu.h                  |  3 -
 arch/arm/include/asm/pgalloc.h                     |  6 +-
 arch/arm/include/asm/tlb.h                         |  6 +-
 arch/arm/include/asm/xen/page.h                    |  2 +-
 arch/arm/kvm/arm.c                                 | 11 +--
 arch/arm/kvm/mmu.c                                 | 16 ++--
 arch/arm/mm/pgd.c                                  |  4 +-
 arch/arm/xen/mm.c                                  |  4 +-
 arch/arm64/include/asm/kvm_host.h                  |  2 +-
 arch/arm64/include/asm/pgalloc.h                   | 12 +--
 arch/arm64/kernel/vdso.c                           | 11 ++-
 arch/arm64/mm/mmu.c                                |  2 +-
 arch/arm64/mm/pgd.c                                |  4 +-
 arch/blackfin/include/asm/mmu_context.h            |  6 +-
 arch/blackfin/kernel/dma-mapping.c                 |  2 +-
 arch/c6x/include/asm/processor.h                   |  4 -
 arch/cris/arch-v32/drivers/pci/dma.c               |  4 +-
 arch/cris/include/asm/pgalloc.h                    |  6 +-
 arch/cris/mm/init.c                                |  7 +-
 arch/frv/include/asm/page.h                        |  3 -
 arch/frv/include/asm/pgalloc.h                     |  2 +-
 arch/frv/mm/dma-alloc.c                            |  7 +-
 arch/frv/mm/pgalloc.c                              |  2 +-
 arch/h8300/kernel/dma.c                            |  4 +-
 arch/hexagon/include/asm/pgalloc.h                 |  8 +-
 arch/ia64/hp/common/sba_iommu.c                    | 12 ++-
 arch/ia64/hp/sim/simserial.c                       |  7 +-
 arch/ia64/include/asm/agp.h                        |  4 +-
 arch/ia64/include/asm/thread_info.h                |  2 +-
 arch/ia64/include/asm/tlb.h                        |  6 +-
 arch/ia64/kernel/mca.c                             |  3 +-
 arch/ia64/kernel/uncached.c                        |  2 +-
 arch/ia64/sn/pci/pci_dma.c                         |  6 +-
 arch/ia64/sn/pci/tioca_provider.c                  |  2 +-
 arch/m32r/include/asm/pgalloc.h                    |  8 +-
 arch/m68k/include/asm/dvma.h                       | 21 ++----
 arch/m68k/include/asm/floppy.h                     |  8 +-
 arch/m68k/include/asm/mcf_pgalloc.h                | 12 +--
 arch/m68k/include/asm/motorola_pgalloc.h           |  4 +-
 arch/m68k/include/asm/page_mm.h                    |  3 -
 arch/m68k/include/asm/page_no.h                    |  3 -
 arch/m68k/include/asm/sun3_pgalloc.h               | 10 +--
 arch/m68k/kernel/dma.c                             |  4 +-
 arch/m68k/mm/memory.c                              |  2 +-
 arch/m68k/sun3/dvma.c                              | 31 ++++----
 arch/m68k/sun3/sun3dvma.c                          | 48 ++++++------
 arch/m68k/sun3x/dvma.c                             | 15 ++--
 arch/metag/include/asm/pgalloc.h                   |  6 +-
 arch/microblaze/include/asm/pgalloc.h              |  6 +-
 arch/microblaze/kernel/dma.c                       |  2 +-
 arch/microblaze/mm/consistent.c                    | 14 ++--
 arch/microblaze/mm/pgtable.c                       |  2 +-
 arch/mips/include/asm/mach-generic/floppy.h        | 10 +--
 arch/mips/include/asm/mach-jazz/floppy.h           | 14 ++--
 arch/mips/include/asm/pgalloc.h                    | 12 +--
 arch/mips/include/asm/pgtable.h                    |  4 +-
 arch/mips/jazz/jazzdma.c                           |  3 +-
 arch/mips/mm/dma-default.c                         |  4 +-
 arch/mips/mm/init.c                                |  7 +-
 arch/mn10300/include/asm/pgalloc.h                 |  2 +-
 arch/mn10300/mm/dma-alloc.c                        | 19 +++--
 arch/mn10300/mm/pgtable.c                          |  2 +-
 arch/nios2/include/asm/pgalloc.h                   |  6 +-
 arch/nios2/mm/dma-mapping.c                        |  6 +-
 arch/nios2/mm/init.c                               |  8 +-
 arch/nios2/mm/pgtable.c                            |  2 +-
 arch/openrisc/include/asm/page.h                   |  3 -
 arch/openrisc/include/asm/pgalloc.h                |  6 +-
 arch/openrisc/mm/ioremap.c                         |  2 +-
 arch/parisc/include/asm/agp.h                      |  4 +-
 arch/parisc/include/asm/floppy.h                   | 19 ++---
 arch/parisc/include/asm/pgalloc.h                  | 14 ++--
 arch/parisc/kernel/pci-dma.c                       |  9 +--
 arch/powerpc/include/asm/agp.h                     |  4 +-
 arch/powerpc/include/asm/kvm_host.h                |  2 +-
 arch/powerpc/include/asm/pgalloc-32.h              |  4 +-
 arch/powerpc/include/asm/pgalloc-64.h              |  6 +-
 arch/powerpc/include/asm/ps3.h                     |  4 +-
 arch/powerpc/kernel/dma.c                          |  2 +-
 arch/powerpc/kernel/fadump.c                       |  2 +-
 arch/powerpc/kernel/iommu.c                        |  6 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c                | 15 ++--
 arch/powerpc/kvm/book3s_pr.c                       |  8 +-
 arch/powerpc/kvm/booke.c                           |  2 +-
 arch/powerpc/kvm/e500.c                            |  4 +-
 arch/powerpc/kvm/e500mc.c                          |  4 +-
 arch/powerpc/mm/hugetlbpage.c                      |  4 +-
 arch/powerpc/mm/init_64.c                          |  3 +-
 arch/powerpc/mm/pgtable_32.c                       |  6 +-
 arch/powerpc/mm/subpage-prot.c                     |  6 +-
 arch/powerpc/platforms/cell/spufs/coredump.c       |  4 +-
 arch/powerpc/platforms/cell/spufs/inode.c          |  4 +-
 arch/powerpc/platforms/powernv/pci-ioda.c          |  2 +-
 arch/powerpc/platforms/ps3/mm.c                    | 34 +++------
 arch/powerpc/platforms/ps3/system-bus.c            | 14 ++--
 arch/powerpc/platforms/pseries/cmm.c               | 38 +++++-----
 arch/powerpc/platforms/pseries/iommu.c             |  4 +-
 arch/powerpc/platforms/pseries/pseries_energy.c    |  4 +-
 arch/s390/crypto/aes_s390.c                        |  6 +-
 arch/s390/crypto/des_s390.c                        |  4 +-
 arch/s390/crypto/prng.c                            |  4 +-
 arch/s390/hypfs/hypfs_diag.c                       |  4 +-
 arch/s390/hypfs/hypfs_sprp.c                       |  6 +-
 arch/s390/include/asm/idals.h                      |  8 +-
 arch/s390/include/asm/pgtable.h                    |  6 +-
 arch/s390/kernel/entry.h                           |  2 +-
 arch/s390/kernel/ipl.c                             |  8 +-
 arch/s390/kernel/kprobes.c                         |  4 +-
 arch/s390/kernel/perf_cpum_sf.c                    |  6 +-
 arch/s390/kernel/setup.c                           |  2 +-
 arch/s390/kernel/smp.c                             | 25 +++----
 arch/s390/kernel/suspend.c                         |  6 +-
 arch/s390/kernel/sysinfo.c                         |  4 +-
 arch/s390/kernel/time.c                            |  2 +-
 arch/s390/kernel/topology.c                        |  2 +-
 arch/s390/kernel/vdso.c                            | 16 ++--
 arch/s390/kvm/kvm-s390.c                           | 16 ++--
 arch/s390/kvm/priv.c                               |  8 +-
 arch/s390/mm/cmm.c                                 | 17 ++---
 arch/s390/mm/init.c                                |  7 +-
 arch/s390/mm/maccess.c                             |  8 +-
 arch/s390/mm/pgtable.c                             |  9 +--
 arch/s390/mm/vmem.c                                |  2 +-
 arch/s390/oprofile/hwsampler.c                     | 10 +--
 arch/s390/pci/pci_clp.c                            |  4 +-
 arch/s390/pci/pci_dma.c                            | 14 ++--
 arch/score/include/asm/pgalloc.h                   |  8 +-
 arch/score/include/asm/pgtable.h                   |  6 +-
 arch/score/mm/init.c                               |  6 +-
 arch/sh/boards/mach-hp6xx/pm.c                     |  5 +-
 arch/sh/mm/consistent.c                            |  4 +-
 arch/sparc/include/asm/agp.h                       |  4 +-
 arch/sparc/include/asm/dma.h                       |  2 +-
 arch/sparc/include/asm/floppy_32.h                 |  4 +-
 arch/sparc/include/asm/iommu_64.h                  |  2 +-
 arch/sparc/kernel/iommu.c                          | 17 ++---
 arch/sparc/kernel/ioport.c                         | 12 +--
 arch/sparc/kernel/irq_64.c                         |  8 +-
 arch/sparc/kernel/ldc.c                            | 11 ++-
 arch/sparc/kernel/pci_fire.c                       | 18 ++---
 arch/sparc/kernel/pci_sun4v.c                      | 31 ++++----
 arch/sparc/kernel/traps_64.c                       |  3 +-
 arch/sparc/mm/init_64.c                            |  2 +-
 arch/sparc/mm/io-unit.c                            |  9 +--
 arch/sparc/mm/iommu.c                              | 16 ++--
 arch/tile/mm/elf.c                                 |  4 +-
 arch/um/drivers/chan_user.c                        |  6 +-
 arch/um/drivers/chan_user.h                        |  2 +-
 arch/um/drivers/line.c                             |  8 +-
 arch/um/drivers/mconsole_kern.c                    |  2 +-
 arch/um/drivers/net_kern.c                         |  4 +-
 arch/um/drivers/ubd.h                              |  2 +-
 arch/um/drivers/ubd_kern.c                         |  2 +-
 arch/um/drivers/ubd_user.c                         |  4 +-
 arch/um/include/asm/pgalloc.h                      |  4 +-
 arch/um/include/shared/kern_util.h                 |  4 +-
 arch/um/include/shared/os.h                        |  6 +-
 arch/um/include/shared/skas/mm_id.h                |  2 +-
 arch/um/include/shared/skas/skas.h                 |  2 +-
 arch/um/kernel/mem.c                               |  8 +-
 arch/um/kernel/process.c                           |  9 +--
 arch/um/kernel/skas/mmu.c                          | 11 ++-
 arch/um/kernel/skas/process.c                      |  4 +-
 arch/um/os-Linux/aio.c                             |  2 +-
 arch/um/os-Linux/helper.c                          | 14 ++--
 arch/um/os-Linux/sigio.c                           |  2 +-
 arch/um/os-Linux/skas/process.c                    | 19 +++--
 arch/unicore32/include/asm/pgalloc.h               |  4 +-
 arch/unicore32/mm/pgd.c                            |  6 +-
 arch/x86/include/asm/agp.h                         |  4 +-
 arch/x86/include/asm/floppy.h                      | 19 ++---
 arch/x86/include/asm/pgalloc.h                     |  6 +-
 arch/x86/include/asm/xen/page-coherent.h           |  4 +-
 arch/x86/include/asm/xen/page.h                    |  4 +-
 arch/x86/kernel/amd_gart_64.c                      |  6 +-
 arch/x86/kernel/cpu/perf_event_intel_pt.c          |  2 +-
 arch/x86/kernel/ldt.c                              |  2 +-
 arch/x86/kernel/machine_kexec_32.c                 | 10 +--
 arch/x86/kernel/machine_kexec_64.c                 |  6 +-
 arch/x86/kernel/pci-calgary_64.c                   |  8 +-
 arch/x86/kernel/pci-dma.c                          |  2 +-
 arch/x86/kernel/tce_64.c                           |  6 +-
 arch/x86/kvm/lapic.c                               |  2 +-
 arch/x86/kvm/mmu.c                                 | 12 +--
 arch/x86/kvm/vmx.c                                 | 59 +++++++--------
 arch/x86/kvm/x86.c                                 |  4 +-
 arch/x86/mm/init.c                                 |  2 +-
 arch/x86/mm/init_64.c                              |  2 +-
 arch/x86/mm/pageattr.c                             |  6 +-
 arch/x86/mm/pgtable.c                              | 16 ++--
 arch/x86/pci/pcbios.c                              |  8 +-
 arch/x86/platform/efi/efi.c                        |  6 +-
 arch/x86/um/ldt.c                                  | 17 ++---
 arch/x86/xen/mmu.c                                 |  4 +-
 arch/x86/xen/p2m.c                                 |  4 +-
 arch/x86/xen/pmu.c                                 |  4 +-
 arch/xtensa/include/asm/pgalloc.h                  |  8 +-
 arch/xtensa/kernel/pci-dma.c                       |  2 +-
 block/partitions/check.c                           |  6 +-
 crypto/blkcipher.c                                 |  4 +-
 crypto/tcrypt.c                                    | 10 +--
 crypto/testmgr.c                                   |  6 +-
 crypto/xor.c                                       |  4 +-
 drivers/acpi/apei/ghes.c                           |  4 +-
 drivers/acpi/nvs.c                                 |  4 +-
 drivers/atm/eni.c                                  |  2 +-
 drivers/atm/lanai.c                                |  2 +-
 drivers/auxdisplay/cfag12864b.c                    |  4 +-
 drivers/base/devres.c                              | 10 +--
 drivers/block/aoe/aoecmd.c                         |  2 +-
 drivers/block/cciss.c                              |  4 +-
 drivers/block/drbd/drbd_main.c                     |  8 +-
 drivers/block/floppy.c                             | 18 ++---
 drivers/block/ps3vram.c                            |  7 +-
 drivers/block/xen-blkback/blkback.c                |  4 +-
 drivers/block/xen-blkfront.c                       | 19 +++--
 drivers/block/zram/zcomp.c                         |  4 +-
 drivers/char/agp/amd-k7-agp.c                      |  4 +-
 drivers/char/agp/ati-agp.c                         |  4 +-
 drivers/char/agp/efficeon-agp.c                    | 20 ++---
 drivers/char/agp/hp-agp.c                          |  4 +-
 drivers/char/agp/sworks-agp.c                      |  4 +-
 drivers/char/agp/uninorth-agp.c                    |  6 +-
 drivers/char/mbcs.c                                | 20 ++---
 drivers/char/mem.c                                 |  8 +-
 drivers/char/pcmcia/synclink_cs.c                  |  2 +-
 drivers/char/tpm/tpm_ibmvtpm.c                     |  4 +-
 drivers/char/tpm/xen-tpmfront.c                    |  6 +-
 drivers/char/xilinx_hwicap/xilinx_hwicap.c         | 16 ++--
 drivers/char/xillybus/xillybus_core.c              |  2 +-
 drivers/crypto/atmel-aes.c                         | 12 +--
 drivers/crypto/atmel-tdes.c                        | 12 +--
 drivers/crypto/nx/nx-842.c                         | 12 +--
 drivers/crypto/omap-aes.c                          |  8 +-
 drivers/crypto/omap-des.c                          |  8 +-
 drivers/dma/nbpfaxi.c                              |  2 +-
 drivers/dma/sh/rcar-dmac.c                         |  2 +-
 drivers/dma/ste_dma40.c                            | 12 +--
 drivers/extcon/extcon.c                            |  2 +-
 drivers/firewire/ohci.c                            |  6 +-
 drivers/firmware/dell_rbu.c                        | 15 ++--
 drivers/gpu/drm/amd/amdkfd/kfd_events.c            |  4 +-
 drivers/gpu/drm/via/via_dmablit.c                  |  5 +-
 drivers/hsi/clients/cmt_speech.c                   | 10 +--
 drivers/hv/channel.c                               | 10 +--
 drivers/hv/connection.c                            | 13 ++--
 drivers/hv/hv.c                                    |  6 +-
 drivers/ide/ide-proc.c                             |  8 +-
 drivers/infiniband/core/device.c                   |  2 +-
 drivers/infiniband/core/umem.c                     |  8 +-
 drivers/infiniband/core/umem_odp.c                 |  4 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |  4 +-
 drivers/infiniband/hw/cxgb4/device.c               |  5 +-
 drivers/infiniband/hw/cxgb4/mem.c                  |  4 +-
 drivers/infiniband/hw/mlx4/mr.c                    |  4 +-
 drivers/infiniband/hw/mlx5/mr.c                    |  2 +-
 drivers/infiniband/hw/mlx5/odp.c                   |  4 +-
 drivers/infiniband/hw/mthca/mthca_allocator.c      |  4 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |  4 +-
 drivers/infiniband/hw/qib/qib_dma.c                |  2 +-
 drivers/infiniband/hw/qib/qib_qp.c                 |  6 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |  4 +-
 drivers/input/misc/xen-kbdfront.c                  |  8 +-
 drivers/iommu/amd_iommu.c                          | 18 ++---
 drivers/iommu/amd_iommu_init.c                     | 37 ++++------
 drivers/iommu/amd_iommu_v2.c                       |  6 +-
 drivers/iommu/dmar.c                               |  4 +-
 drivers/iommu/exynos-iommu.c                       | 10 +--
 drivers/iommu/fsl_pamu.c                           |  2 +-
 drivers/iommu/intel-iommu.c                        |  2 +-
 drivers/iommu/intel-svm.c                          |  8 +-
 drivers/iommu/intel_irq_remapping.c                |  2 +-
 drivers/iommu/msm_iommu.c                          | 15 ++--
 drivers/iommu/rockchip-iommu.c                     |  4 +-
 drivers/irqchip/irq-gic-v3-its.c                   |  4 +-
 drivers/lguest/lg.h                                |  2 +-
 drivers/lguest/lguest_user.c                       |  2 +-
 drivers/lguest/page_tables.c                       | 12 +--
 drivers/macintosh/rack-meter.c                     |  6 +-
 drivers/md/bcache/bset.c                           | 18 ++---
 drivers/md/bcache/btree.c                          |  5 +-
 drivers/md/bcache/journal.c                        |  8 +-
 drivers/md/bcache/super.c                          |  6 +-
 drivers/md/dm-bufio.c                              |  5 +-
 drivers/media/pci/pt1/pt1.c                        |  6 +-
 drivers/media/pci/saa7134/saa7134-go7007.c         |  8 +-
 drivers/media/pci/solo6x10/solo6x10-p2m.c          | 10 +--
 drivers/media/pci/ttpci/av7110_ca.c                |  4 +-
 drivers/media/pci/zoran/zoran_driver.c             |  4 +-
 drivers/media/platform/davinci/dm644x_ccdc.c       |  7 +-
 drivers/media/platform/omap/omap_vout.c            | 26 ++++---
 drivers/media/platform/omap/omap_vout_vrfb.c       |  6 +-
 drivers/media/platform/omap/omap_voutdef.h         |  4 +-
 drivers/media/platform/omap/omap_voutlib.c         | 15 ++--
 drivers/media/platform/omap/omap_voutlib.h         |  4 +-
 drivers/misc/cxl/context.c                         |  2 +-
 drivers/misc/cxl/native.c                          |  6 +-
 drivers/misc/cxl/pci.c                             |  4 +-
 drivers/misc/ibmasm/ibmasmfs.c                     |  4 +-
 drivers/misc/lkdtm.c                               | 16 ++--
 drivers/misc/mic/card/mic_virtio.c                 |  4 +-
 drivers/misc/mic/host/mic_virtio.c                 | 16 ++--
 drivers/misc/mic/scif/scif_rma.h                   |  4 +-
 drivers/misc/sgi-gru/grufile.c                     |  4 +-
 drivers/misc/sgi-xp/xpc_uv.c                       |  4 +-
 drivers/mmc/host/tmio_mmc_dma.c                    |  4 +-
 drivers/net/appletalk/ltpc.c                       | 12 ++-
 drivers/net/ethernet/amd/mvme147.c                 |  4 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |  2 +-
 drivers/net/ethernet/cavium/liquidio/octeon_droq.c |  4 +-
 drivers/net/ethernet/cavium/liquidio/octeon_droq.h |  3 -
 drivers/net/ethernet/cavium/liquidio/octeon_main.h | 21 +-----
 drivers/net/ethernet/cirrus/cs89x0.c               |  5 +-
 drivers/net/ethernet/i825xx/82596.c                |  4 +-
 drivers/net/ethernet/i825xx/sun3_82586.c           | 13 ++--
 drivers/net/ethernet/ibm/ehea/ehea_main.c          | 26 +++----
 drivers/net/ethernet/ibm/ehea/ehea_qmr.c           |  8 +-
 drivers/net/ethernet/ibm/ibmveth.c                 |  4 +-
 drivers/net/ethernet/seeq/sgiseeq.c                |  2 +-
 drivers/net/ethernet/sfc/mcdi.c                    |  6 +-
 drivers/net/ethernet/sgi/ioc3-eth.c                |  6 +-
 drivers/net/ethernet/sun/niu.c                     |  8 +-
 drivers/net/ethernet/tile/tilegx.c                 |  6 +-
 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c  | 24 +++---
 drivers/net/irda/au1k_ir.c                         |  4 +-
 drivers/net/rionet.c                               |  4 +-
 drivers/net/usb/kaweth.c                           |  4 +-
 drivers/net/wan/z85230.c                           |  8 +-
 drivers/net/wireless/b43/debugfs.c                 |  8 +-
 drivers/net/wireless/b43legacy/debugfs.c           |  8 +-
 drivers/net/wireless/iwlegacy/3945-mac.c           |  2 +-
 drivers/net/wireless/iwlegacy/3945.c               |  2 +-
 drivers/net/wireless/iwlegacy/common.c             | 10 +--
 drivers/net/wireless/iwlegacy/common.h             |  6 +-
 drivers/net/wireless/iwlwifi/iwl-trans.h           |  2 +-
 drivers/net/wireless/iwlwifi/pcie/tx.c             |  2 +-
 drivers/net/wireless/libertas/debugfs.c            | 85 +++++++++-------------
 drivers/net/wireless/mwifiex/debugfs.c             | 78 ++++++++------------
 drivers/net/wireless/ti/wlcore/main.c              | 10 +--
 drivers/net/xen-netfront.c                         | 10 +--
 drivers/parisc/ccio-dma.c                          | 10 +--
 drivers/parisc/ccio-rm-dma.c                       |  4 +-
 drivers/parisc/sba_iommu.c                         | 27 ++++---
 drivers/pci/host/pci-tegra.c                       |  8 +-
 drivers/pci/host/pcie-designware.c                 |  6 +-
 drivers/pci/host/pcie-designware.h                 |  2 +-
 drivers/pci/host/pcie-rcar.c                       |  6 +-
 drivers/pci/host/pcie-xilinx.c                     |  8 +-
 drivers/pci/xen-pcifront.c                         |  7 +-
 drivers/platform/x86/dell-laptop.c                 |  6 +-
 drivers/power/power_supply_sysfs.c                 |  2 +-
 drivers/s390/block/dasd.c                          |  8 +-
 drivers/s390/block/dasd_diag.c                     |  2 +-
 drivers/s390/block/dasd_eckd.c                     | 10 +--
 drivers/s390/block/dasd_eer.c                      |  2 +-
 drivers/s390/block/dasd_fba.c                      |  2 +-
 drivers/s390/block/scm_blk.c                       |  2 +-
 drivers/s390/block/scm_blk_cluster.c               |  2 +-
 drivers/s390/block/xpram.c                         | 22 +++---
 drivers/s390/char/diag_ftp.c                       |  2 +-
 drivers/s390/char/hmcdrv_cache.c                   |  4 +-
 drivers/s390/char/hmcdrv_ftp.c                     |  6 +-
 drivers/s390/char/sclp_async.c                     |  4 +-
 drivers/s390/char/sclp_cmd.c                       | 16 ++--
 drivers/s390/char/sclp_cpi_sys.c                   |  2 +-
 drivers/s390/char/sclp_ctl.c                       |  2 +-
 drivers/s390/char/sclp_ftp.c                       |  8 +-
 drivers/s390/char/sclp_vt220.c                     |  2 +-
 drivers/s390/char/tty3270.c                        |  8 +-
 drivers/s390/char/vmcp.c                           |  7 +-
 drivers/s390/char/vmlogrdr.c                       |  2 +-
 drivers/s390/char/vmur.c                           |  8 +-
 drivers/s390/char/zcore.c                          |  6 +-
 drivers/s390/cio/chsc.c                            | 16 ++--
 drivers/s390/cio/chsc_sch.c                        | 24 +++---
 drivers/s390/cio/cmf.c                             |  6 +-
 drivers/s390/cio/qdio.h                            |  2 +-
 drivers/s390/cio/qdio_main.c                       |  2 +-
 drivers/s390/cio/qdio_setup.c                      | 18 ++---
 drivers/s390/cio/qdio_thinint.c                    |  2 +-
 drivers/s390/cio/scm.c                             |  4 +-
 drivers/s390/crypto/zcrypt_api.c                   |  4 +-
 drivers/s390/crypto/zcrypt_msgtype6.c              |  4 +-
 drivers/s390/crypto/zcrypt_pcixcc.c                |  4 +-
 drivers/s390/net/qeth_core_main.c                  | 11 ++-
 drivers/s390/scsi/zfcp_aux.c                       |  2 +-
 drivers/scsi/cxlflash/main.c                       |  8 +-
 drivers/scsi/cxlflash/superpipe.c                  |  2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c                     |  8 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c                   |  4 +-
 drivers/scsi/ipr.c                                 |  4 +-
 drivers/scsi/libiscsi.c                            |  5 +-
 drivers/scsi/lpfc/lpfc_init.c                      | 10 +--
 drivers/scsi/megaraid/megaraid_sas_base.c          |  6 +-
 drivers/scsi/megaraid/megaraid_sas_fusion.c        |  8 +-
 drivers/scsi/mpt3sas/mpt3sas_base.c                |  9 +--
 drivers/scsi/ncr53c8xx.c                           |  2 +-
 drivers/scsi/scsi_devinfo.c                        |  4 +-
 drivers/scsi/scsi_proc.c                           |  8 +-
 drivers/scsi/sun3_scsi.c                           | 23 +++---
 drivers/scsi/sym53c8xx_2/sym_hipd.h                |  4 +-
 drivers/scsi/vmw_pvscsi.c                          |  8 +-
 drivers/scsi/xen-scsifront.c                       | 12 ++-
 drivers/sh/maple/maple.c                           |  5 +-
 drivers/spi/spi-ep93xx.c                           |  4 +-
 drivers/spi/spi-sh-msiof.c                         | 12 +--
 drivers/staging/comedi/comedi_buf.c                |  2 +-
 drivers/staging/lustre/lustre/llite/llite_lib.c    |  4 +-
 drivers/staging/rdma/ehca/ehca_iverbs.h            |  2 +-
 drivers/staging/rdma/ehca/ehca_mrmw.c              |  4 +-
 drivers/staging/rdma/ehca/ipz_pt_fn.c              |  6 +-
 drivers/staging/rdma/ehca/ipz_pt_fn.h              |  2 +-
 drivers/staging/rdma/hfi1/dma.c                    |  2 +-
 drivers/staging/rdma/hfi1/qp.c                     |  6 +-
 drivers/staging/rdma/ipath/ipath_dma.c             |  2 +-
 drivers/staging/rdma/ipath/ipath_qp.c              |  6 +-
 drivers/staging/unisys/visorbus/visorchannel.c     |  4 +-
 drivers/target/target_core_file.c                  |  4 +-
 drivers/tty/amiserial.c                            |  6 +-
 drivers/tty/cyclades.c                             |  8 +-
 drivers/tty/hvc/hvc_iucv.c                         |  4 +-
 drivers/tty/hvc/hvc_xen.c                          |  4 +-
 drivers/tty/hvc/hvcs.c                             |  6 +-
 drivers/tty/mxser.c                                |  8 +-
 drivers/tty/rocket.c                               |  8 +-
 drivers/tty/serial/68328serial.c                   |  4 +-
 drivers/tty/serial/crisv10.c                       |  6 +-
 drivers/tty/serial/men_z135_uart.c                 |  6 +-
 drivers/tty/serial/pch_uart.c                      |  6 +-
 drivers/tty/serial/serial_core.c                   |  6 +-
 drivers/tty/synclink.c                             |  2 +-
 drivers/tty/tty_port.c                             |  6 +-
 drivers/tty/vt/vc_screen.c                         |  8 +-
 drivers/usb/atm/cxacru.c                           | 16 ++--
 drivers/usb/atm/speedtch.c                         |  4 +-
 drivers/usb/core/devices.c                         |  6 +-
 drivers/usb/core/devio.c                           |  4 +-
 drivers/usb/host/ohci-dbg.c                        |  2 +-
 drivers/usb/misc/rio500.c                          | 14 ++--
 drivers/usb/mon/mon_bin.c                          | 13 ++--
 drivers/usb/serial/usb_wwan.c                      |  6 +-
 drivers/uwb/hwa-rc.c                               |  6 +-
 drivers/video/fbdev/fb-puv3.c                      |  2 +-
 drivers/video/fbdev/grvga.c                        | 20 +++--
 drivers/video/fbdev/ssd1307fb.c                    |  2 +-
 drivers/video/fbdev/vermilion/vermilion.c          | 15 ++--
 drivers/video/fbdev/vermilion/vermilion.h          |  2 +-
 drivers/video/fbdev/xen-fbfront.c                  |  4 +-
 drivers/xen/events/events_base.c                   |  4 +-
 drivers/xen/events/events_fifo.c                   | 10 +--
 drivers/xen/evtchn.c                               |  4 +-
 drivers/xen/grant-table.c                          | 12 +--
 drivers/xen/swiotlb-xen.c                          |  6 +-
 drivers/xen/xen-scsiback.c                         |  6 +-
 drivers/xen/xenbus/xenbus_probe.c                  |  7 +-
 fs/affs/inode.c                                    |  4 +-
 fs/afs/mntpt.c                                     |  8 +-
 fs/bfs/inode.c                                     |  2 +-
 fs/binfmt_misc.c                                   |  4 +-
 fs/ceph/mds_client.c                               |  5 +-
 fs/compat.c                                        |  9 +--
 fs/configfs/file.c                                 |  4 +-
 fs/configfs/symlink.c                              |  6 +-
 fs/ecryptfs/crypto.c                               |  2 +-
 fs/ext4/super.c                                    |  2 +-
 fs/fuse/dir.c                                      |  4 +-
 fs/fuse/file.c                                     |  4 +-
 fs/hfs/mdb.c                                       |  4 +-
 fs/internal.h                                      |  2 +-
 fs/isofs/dir.c                                     |  4 +-
 fs/jbd2/journal.c                                  |  8 +-
 fs/jfs/jfs_dtree.c                                 |  8 +-
 fs/jfs/jfs_logmgr.c                                |  2 +-
 fs/kernfs/symlink.c                                |  8 +-
 fs/libfs.c                                         |  6 +-
 fs/namespace.c                                     | 17 ++---
 fs/nfs/namespace.c                                 |  4 +-
 fs/nfs/nfs4namespace.c                             | 16 ++--
 fs/nfs/super.c                                     |  4 +-
 fs/nfsd/vfs.c                                      |  4 +-
 fs/nilfs2/ioctl.c                                  |  4 +-
 fs/ocfs2/dlm/dlmdebug.c                            |  4 +-
 fs/ocfs2/dlm/dlmdomain.c                           |  4 +-
 fs/ocfs2/dlm/dlmmaster.c                           |  4 +-
 fs/ocfs2/dlm/dlmrecovery.c                         |  4 +-
 fs/overlayfs/copy_up.c                             |  6 +-
 fs/proc/base.c                                     | 20 ++---
 fs/proc/vmcore.c                                   |  6 +-
 fs/quota/dquot.c                                   |  2 +-
 fs/select.c                                        |  4 +-
 include/asm-generic/page.h                         |  3 -
 include/linux/device.h                             |  4 +-
 include/linux/gfp.h                                | 16 ++--
 include/linux/quicklist.h                          |  2 +-
 include/linux/security.h                           |  2 +-
 include/xen/grant_table.h                          |  3 +-
 kernel/events/ring_buffer.c                        |  4 +-
 kernel/groups.c                                    |  6 +-
 kernel/power/swap.c                                | 23 +++---
 kernel/sysctl.c                                    | 31 +++-----
 kernel/trace/ftrace.c                              |  8 +-
 kernel/trace/ring_buffer.c                         |  4 +-
 kernel/trace/trace_events.c                        | 26 +++----
 kernel/trace/trace_events_filter.c                 |  4 +-
 kernel/trace/trace_events_trigger.c                |  8 +-
 kernel/trace/trace_uprobe.c                        |  5 +-
 kernel/user_namespace.c                            | 11 +--
 lib/percpu_ida.c                                   |  4 +-
 lib/raid6/algos.c                                  |  4 +-
 lib/scatterlist.c                                  |  4 +-
 lib/swiotlb.c                                      | 33 ++++-----
 mm/memory.c                                        | 12 +--
 mm/migrate.c                                       |  4 +-
 mm/mincore.c                                       |  4 +-
 mm/page_alloc.c                                    | 45 ++++++------
 mm/quicklist.c                                     |  2 +-
 mm/slob.c                                          |  2 +-
 mm/slub.c                                          |  7 +-
 mm/sparse.c                                        |  2 +-
 net/atm/mpoa_proc.c                                |  6 +-
 net/atm/proc.c                                     |  6 +-
 net/core/dev.c                                     |  2 +-
 net/core/neighbour.c                               |  5 +-
 net/dccp/proto.c                                   | 16 ++--
 net/decnet/dn_route.c                              |  3 +-
 net/ipv4/fib_semantics.c                           |  5 +-
 net/netfilter/nf_conntrack_core.c                  |  5 +-
 net/netfilter/nf_tables_api.c                      |  2 +-
 net/netlink/af_netlink.c                           |  6 +-
 net/packet/af_packet.c                             |  7 +-
 net/rds/cong.c                                     | 10 +--
 net/rds/ib_recv.c                                  |  2 +-
 net/rds/iw_recv.c                                  |  2 +-
 net/rds/message.c                                  |  2 +-
 net/rds/rds.h                                      |  4 +-
 net/rds/tcp_recv.c                                 |  2 +-
 net/sched/sch_api.c                                |  5 +-
 net/sctp/protocol.c                                | 16 ++--
 net/sctp/ssnmap.c                                  |  7 +-
 net/sunrpc/backchannel_rqst.c                      |  4 +-
 net/sunrpc/xprtsock.c                              |  2 +-
 net/xfrm/xfrm_hash.c                               |  5 +-
 security/integrity/ima/ima_crypto.c                |  6 +-
 security/selinux/hooks.c                           |  6 +-
 security/selinux/selinuxfs.c                       | 22 +++---
 security/smack/smack_lsm.c                         |  2 +-
 sound/core/memalloc.c                              |  4 +-
 sound/drivers/dummy.c                              |  2 +-
 sound/oss/dmabuf.c                                 |  4 +-
 sound/oss/msnd_pinnacle.c                          | 20 ++---
 sound/oss/vidc.c                                   |  2 +-
 sound/oss/vidc.h                                   |  3 +-
 sound/pci/emu10k1/memory.c                         |  2 +-
 sound/usb/usx2y/usb_stream.c                       |  9 +--
 tools/virtio/linux/kernel.h                        |  4 +-
 virt/kvm/coalesced_mmio.c                          |  2 +-
 virt/kvm/kvm_main.c                                |  4 +-
 568 files changed, 1956 insertions(+), 2202 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ