[RFC] free_pages stuff

From: Al Viro
Date: Mon Dec 21 2015 - 18:46:25 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/