linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mmotm 2014-05-09-16-17 uploaded
@ 2014-05-09 23:18 akpm
  2014-05-10 17:15 ` mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c) Randy Dunlap
  0 siblings, 1 reply; 4+ messages in thread
From: akpm @ 2014-05-09 23:18 UTC (permalink / raw)
  To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next

The mm-of-the-moment snapshot 2014-05-09-16-17 has been uploaded to

   http://www.ozlabs.org/~akpm/mmotm/

mmotm-readme.txt says

README for mm-of-the-moment:

http://www.ozlabs.org/~akpm/mmotm/

This is a snapshot of my -mm patch queue.  Uploaded at random hopefully
more than once a week.

You will need quilt to apply these patches to the latest Linus release (3.x
or 3.x-rcY).  The series file is in broken-out.tar.gz and is duplicated in
http://ozlabs.org/~akpm/mmotm/series

The file broken-out.tar.gz contains two datestamp files: .DATE and
.DATE-yyyy-mm-dd-hh-mm-ss.  Both contain the string yyyy-mm-dd-hh-mm-ss,
followed by the base kernel version against which this patch series is to
be applied.

This tree is partially included in linux-next.  To see which patches are
included in linux-next, consult the `series' file.  Only the patches
within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in
linux-next.

A git tree which contains the memory management portion of this tree is
maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
by Michal Hocko.  It contains the patches which are between the
"#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series
file, http://www.ozlabs.org/~akpm/mmotm/series.


A full copy of the full kernel tree with the linux-next and mmotm patches
already applied is available through git within an hour of the mmotm
release.  Individual mmotm releases are tagged.  The master branch always
points to the latest release, so it's constantly rebasing.

http://git.cmpxchg.org/?p=linux-mmotm.git;a=summary

To develop on top of mmotm git:

  $ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
  $ git remote update mmotm
  $ git checkout -b topic mmotm/master
  <make changes, commit>
  $ git send-email mmotm/master.. [...]

To rebase a branch with older patches to a new mmotm release:

  $ git remote update mmotm
  $ git rebase --onto mmotm/master <topic base> topic




The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second)
contains daily snapshots of the -mm tree.  It is updated more frequently
than mmotm, and is untested.

A git copy of this tree is available at

	http://git.cmpxchg.org/?p=linux-mmots.git;a=summary

and use of this tree is similar to
http://git.cmpxchg.org/?p=linux-mmotm.git, described above.


This mmotm tree contains the following patches against 3.15-rc4:
(patches marked "*" will be included in linux-next)

  origin.patch
  arch-alpha-kernel-systblss-remove-debug-check.patch
  i-need-old-gcc.patch
  maintainers-akpm-maintenance.patch
* drivers-rtc-rtc-hym8563c-set-uie_unsupported.patch
* maintainers-update-maintainership-of-ltp.patch
* mm-postpone-the-disabling-of-kmemleak-early-logging.patch
* mm-thp-close-race-between-mremap-and-split_huge_page.patch
* x86-require-x86-64-for-automatic-numa-balancing.patch
* x86-define-_page_numa-by-reusing-software-bits-on-the-pmd-and-pte-levels.patch
* x86-define-_page_numa-by-reusing-software-bits-on-the-pmd-and-pte-levels-fix-2.patch
* x86-mm-probe-memory-block-size-for-generic-x86-64bit.patch
* fs-ceph-replace-pr_warning-by-pr_warn.patch
* fs-ceph-debugfsc-replace-seq_printf-by-seq_puts.patch
* fs-cifs-remove-obsolete-__constant.patch
* fs-jfs-jfs_logmgrc-remove-null-assignment-on-static.patch
* fs-jfs-superc-remove-0-assignement-to-static-code-clean-up.patch
* fs-fscache-convert-printk-to-pr_foo.patch
* fs-fscache-replace-seq_printf-by-seq_puts.patch
* fanotify-fan_mark_flush-avoid-having-to-provide-a-fake-invalid-fd-and-path.patch
* fanotify-create-fan_access-event-for-readdir.patch
* fs-notify-markc-trivial-cleanup.patch
* fs-notify-fanotify-fanotify_userc-fix-fan_mark_flush-flag-checking.patch
* kernel-posix-timersc-code-clean-up.patch
* kernel-posix-timersc-code-clean-up-checkpatch-fixes.patch
* kernel-time-ntpc-convert-simple_strtol-to-kstrtol.patch
* sched_clock-document-4mhz-vs-1mhz-decision.patch
* input-route-kbd-leds-through-the-generic-leds-layer.patch
* input-route-kbd-leds-through-the-generic-leds-layer-fix.patch
* ntfs-remove-null-value-assignments.patch
* sh-replace-__get_cpu_var-uses.patch
* fs-squashfs-squashfsh-replace-pr_warning-by-pr_warn.patch
* arch-unicore32-mm-ioremapc-convert-printk-warn_on-to-warn1.patch
* arch-unicore32-mm-ioremapc-convert-printk-warn_on-to-warn1-fix.patch
* fs-configs-itemc-kernel-doc-fixes-clean-up.patch
* drivers-net-irda-donauboe-convert-to-module_pci_driver.patch
* ocfs2-remove-null-assignments-on-static.patch
* fs-ocfs2-superc-use-ocfs2_max_vol_label_len-and-strlcpy.patch
* ocfs2-limit-printk-when-journal-is-aborted.patch
* ocfs2-limit-printk-when-journal-is-aborted-fix.patch
* ocfs2-should-add-inode-into-orphan-dir-after-updating-entry-in-ocfs2_rename.patch
* ocfs2-o2net-incorrect-to-terminate-accepting-connections-loop-upon-rejecting-an-invalid-one.patch
* ocfs2-o2net-incorrect-to-terminate-accepting-connections-loop-upon-rejecting-an-ivalid-one-orabug-17489469.patch
* ocfs2-fix-a-tiny-race-when-running-dirop_fileop_racer.patch
* ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endlessloop-during-umount.patch
* ocfs2-manually-do-the-iput-once-ocfs2_add_entry-failed-in-ocfs2_symlink-and-ocfs2_mknod.patch
* maintainers-update-ibm-serveraid-raid-info.patch
* bio-modify-__bio_add_page-to-accept-pages-that-dont-start-a-new-segment.patch
* bio-modify-__bio_add_page-to-accept-pages-that-dont-start-a-new-segment-v3.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* fs-9p-v9fsc-add-__init-to-v9fs_sysfs_init.patch
* fs-9p-kerneldoc-fixes.patch
* nmi-provide-the-option-to-issue-an-nmi-back-trace-to-every-cpu-but-current.patch
* nmi-provide-the-option-to-issue-an-nmi-back-trace-to-every-cpu-but-current-fix.patch
* mm-slubc-convert-printk-to-pr_foo.patch
* mm-slubc-convert-vnsprintf-static-to-va_format.patch
* mm-slab-suppress-out-of-memory-warning-unless-debug-is-enabled.patch
* mm-slab-suppress-out-of-memory-warning-unless-debug-is-enabled-fix.patch
* mm-slub-fix-alloc_slowpath-stat.patch
  mm.patch
* slb-charge-slabs-to-kmemcg-explicitly.patch
* mm-get-rid-of-__gfp_kmemcg.patch
* mm-get-rid-of-__gfp_kmemcg-fix.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v2.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3.patch
* mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3-fix.patch
* pagewalk-update-page-table-walker-core.patch
* pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range.patch
* pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range-fix.patch
* pagewalk-add-walk_page_vma.patch
* smaps-redefine-callback-functions-for-page-table-walker.patch
* clear_refs-redefine-callback-functions-for-page-table-walker.patch
* pagemap-redefine-callback-functions-for-page-table-walker.patch
* pagemap-redefine-callback-functions-for-page-table-walker-fix.patch
* numa_maps-redefine-callback-functions-for-page-table-walker.patch
* memcg-redefine-callback-functions-for-page-table-walker.patch
* arch-powerpc-mm-subpage-protc-use-walk_page_vma-instead-of-walk_page_range.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry-fix.patch
* pagewalk-remove-argument-hmask-from-hugetlb_entry-fix-fix.patch
* mempolicy-apply-page-table-walker-on-queue_pages_range.patch
* mm-add-pte_present-check-on-existing-hugetlb_entry-callbacks.patch
* mm-pagewalkc-move-pte-null-check.patch
* mm-softdirty-make-freshly-remapped-file-pages-being-softdirty-unconditionally.patch
* mm-softdirty-dont-forget-to-save-file-map-softdiry-bit-on-unmap.patch
* mm-softdirty-clear-vm_softdirty-flag-inside-clear_refs_write-instead-of-clear_soft_dirty.patch
* mm-introduce-do_shared_fault-and-drop-do_fault-fix-fix.patch
* mm-compactionc-isolate_freepages_block-small-tuneup.patch
* fs-mpagec-forgotten-write_sync-in-case-of-data-integrity-write.patch
* mm-only-force-scan-in-reclaim-when-none-of-the-lrus-are-big-enough.patch
* mmvmacache-add-debug-data.patch
* mmvmacache-optimize-overflow-system-wide-flushing.patch
* x86-make-dma_alloc_coherent-return-zeroed-memory-if-cma-is-enabled.patch
* x86-make-dma_alloc_coherent-return-zeroed-memory-if-cma-is-enabled-fix.patch
* x86-enable-dma-cma-with-swiotlb.patch
* intel-iommu-integrate-dma-cma.patch
* intel-iommu-integrate-dma-cma-fix.patch
* memblock-introduce-memblock_alloc_range.patch
* cma-add-placement-specifier-for-cma=-kernel-parameter.patch
* arch-x86-kernel-pci-dmac-fix-dma_generic_alloc_coherent-when-config_dma_cma-is-enabled.patch
* thp-consolidate-assert-checks-in-__split_huge_page.patch
* mm-huge_memoryc-complete-conversion-to-pr_foo.patch
* mm-convert-some-level-less-printks-to-pr_.patch
* include-linux-mmdebugh-add-vm_warn_on-and-vm_warn_on_once.patch
* mm-mempool-warn-about-__gfp_zero-usage.patch
* mm-mempool-warn-about-__gfp_zero-usage-fix.patch
* mm-memcontrol-remove-hierarchy-restrictions-for-swappiness-and-oom_control.patch
* mm-memcontrol-remove-hierarchy-restrictions-for-swappiness-and-oom_control-fix.patch
* mm-pass-vm_bug_on-reason-to-dump_page.patch
* mm-pass-vm_bug_on-reason-to-dump_page-fix.patch
* memory-hotplug-update-documentation-to-hide-information-about-sections-and-remove-end_phys_index.patch
* slab-document-kmalloc_order.patch
* mm-mmapc-replace-is_err-and-ptr_err-with-ptr_err_or_zero.patch
* hugetlb-prep_compound_gigantic_page-drop-__init-marker.patch
* hugetlb-add-hstate_is_gigantic.patch
* hugetlb-update_and_free_page-dont-clear-pg_reserved-bit.patch
* hugetlb-move-helpers-up-in-the-file.patch
* hugetlb-add-support-for-gigantic-page-allocation-at-runtime.patch
* hugetlb-add-support-for-gigantic-page-allocation-at-runtime-checkpatch-fixes.patch
* mm-disable-zone_reclaim_mode-by-default.patch
* mm-page_alloc-do-not-cache-reclaim-distances.patch
* mm-page_alloc-do-not-cache-reclaim-distances-fix.patch
* memcg-un-export-__memcg_kmem_get_cache.patch
* mem-hotplug-implement-get-put_online_mems.patch
* slab-get_online_mems-for-kmem_cache_createdestroyshrink.patch
* fs-hugetlbfs-inodec-complete-conversion-to-pr_foo.patch
* mm-page_alloc-prevent-migrate_reserve-pages-from-being-misplaced.patch
* mm-compaction-clean-up-unused-code-lines.patch
* mm-compaction-cleanup-isolate_freepages.patch
* mm-compaction-cleanup-isolate_freepages-fix.patch
* mm-compaction-cleanup-isolate_freepages-fix-2.patch
* mm-compaction-cleanup-isolate_freepages-fix3.patch
* mm-debug-make-bad_range-output-more-usable-and-readable.patch
* documentation-memcg-warn-about-incomplete-kmemcg-state.patch
* m68k-call-find_vma-with-the-mmap_sem-held-in-sys_cacheflush.patch
* mips-call-find_vma-with-the-mmap_sem-held.patch
* arc-call-find_vma-with-the-mmap_sem-held.patch
* arc-call-find_vma-with-the-mmap_sem-held-fix.patch
* drm-exynos-call-find_vma-with-the-mmap_sem-held.patch
* mm-swapc-clean-up-lru_cache_add-functions.patch
* mm-mmap-remove-the-first-mapping-check.patch
* memcg-kill-config_mm_owner.patch
* mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal.patch
* mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal-checkpatch-fixes.patch
* mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal-fix.patch
* memcg-do-not-hang-on-oom-when-killed-by-userspace-oom-access-to-memory-reserves.patch
* memcg-slab-do-not-schedule-cache-destruction-when-last-page-goes-away.patch
* memcg-slab-merge-memcg_bindrelease_pages-to-memcg_uncharge_slab.patch
* memcg-slab-simplify-synchronization-scheme.patch
* mm-numa-add-migrated-transhuge-pages-to-lru-the-same-way-as-base-pages.patch
* mm-avoid-throttling-reclaim-for-loop-back-nfsd-threads.patch
* fs-bufferc-remove-block_write_full_page_endio.patch
* fs-mpagec-factor-clean_buffers-out-of-__mpage_writepage.patch
* fs-mpagec-factor-page_endio-out-of-mpage_end_io.patch
* fs-block_devc-add-bdev_read_page-and-bdev_write_page.patch
* swap-use-bdev_read_page-bdev_write_page.patch
* swap-use-bdev_read_page-bdev_write_page-fix.patch
* brd-add-support-for-rw_page.patch
* brd-return-enospc-rather-than-enomem-on-page-allocation-failure.patch
* mm-memory_hotplugc-use-pfn_down.patch
* mm-memblockc-use-pfn_down.patch
* memcg-mm_update_next_owner-should-skip-kthreads.patch
* memcg-optimize-the-search-everything-else-loop-in-mm_update_next_owner.patch
* memcg-kill-start_kernel-mm_init_ownerinit_mm.patch
* mm-replace-__get_cpu_var-uses-with-this_cpu_ptr.patch
* mm-constify-nmask-argument-to-mbind.patch
* mm-constify-nmask-argument-to-set_mempolicy.patch
* mm-swapc-introduce-put_refcounted_compound_page-helpers-for-spliting-put_compound_page.patch
* mm-swapc-split-put_compound_page-function.patch
* mm-introdule-compound_head_by_tail.patch
* include-linux-bootmemh-cleanup-the-comment-for-bootmem_-flags.patch
* mm-dmapoolc-remove-redundant-null-check-for-dev-in-dma_pool_create.patch
* memcg-mm-introduce-lowlimit-reclaim.patch
* memcg-mm-introduce-lowlimit-reclaim-fix.patch
* memcg-allow-setting-low_limit.patch
* memcg-doc-clarify-global-vs-limit-reclaims.patch
* memcg-doc-clarify-global-vs-limit-reclaims-fix.patch
* memcg-document-memorylow_limit_in_bytes.patch
* mm-shrinker-trace-points-fix-negatives.patch
* mm-shrinker-add-nid-to-tracepoint-output.patch
* mm-memcontrolc-remove-null-assignment-on-static.patch
* mm-vmallocc-replace-seq_printf-by-seq_puts.patch
* vmscan-memcg-always-use-swappiness-of-the-reclaimed-memcg-swappiness-and-oom_control.patch
* mm-move-get_user_pages-related-code-to-separate-file.patch
* mm-extract-in_gate_area-case-from-__get_user_pages.patch
* mm-cleanup-follow_page_mask.patch
* mm-extract-code-to-fault-in-a-page-from-__get_user_pages.patch
* mm-cleanup-__get_user_pages.patch
* mm-x86-pgtable-drop-unneeded-preprocessor-ifdef.patch
* mm-x86-pgtable-require-x86_64-for-soft-dirty-tracker.patch
* mm-x86-pgtable-require-x86_64-for-soft-dirty-tracker-v2.patch
* mm-kmemleakc-use-%u-to-print-checksum.patch
* mm-introduce-kmemleak_update_trace.patch
* lib-update-the-kmemleak-stack-trace-for-radix-tree-allocations.patch
* mm-update-the-kmemleak-stack-trace-for-mempool-allocations.patch
* mm-call-kmemleak-directly-from-memblock_allocfree.patch
* mm-rmapc-make-page_referenced_one-and-try_to_unmap_one-static.patch
* mm-mempolicyc-parameter-doc-uniformization.patch
* mm-memcontrol-clean-up-memcg-zoneinfo-lookup.patch
* mm-memcontrol-remove-unnecessary-memcg-argument-from-soft-limit-functions.patch
* arch-x86-mm-numac-use-for_each_memblock.patch
* mm-update-comment-for-default_max_map_count.patch
* mm-update-comment-for-default_max_map_count-fix.patch
* memcg-fold-mem_cgroup_stolen.patch
* memcg-fold-mem_cgroup_stolen-fix.patch
* memcg-correct-comments-for-__mem_cgroup_begin_update_page_stat.patch
* memcg-get-rid-of-memcg_create_cache_name.patch
* memcg-memcg_kmem_create_cache-make-memcg_name_buf.patch
* mm-migration-add-destination-page-freeing-callback.patch
* mm-compaction-return-failed-migration-target-pages-back-to-freelist.patch
* mm-compaction-add-per-zone-migration-pfn-cache-for-async-compaction.patch
* mm-compaction-embed-migration-mode-in-compact_control.patch
* mm-compaction-embed-migration-mode-in-compact_control-fix.patch
* mm-thp-avoid-excessive-compaction-latency-during-fault.patch
* mm-thp-avoid-excessive-compaction-latency-during-fault-fix.patch
* mm-compaction-terminate-async-compaction-when-rescheduling.patch
* mm-compaction-do-not-count-migratepages-when-unnecessary.patch
* mm-compaction-avoid-rescanning-pageblocks-in-isolate_freepages.patch
* mm-mark-remap_file_pages-syscall-as-deprecated.patch
* mm-mark-remap_file_pages-syscall-as-deprecated-fix.patch
* mm-replace-remap_file_pages-syscall-with-emulation.patch
* mm-replace-remap_file_pages-syscall-with-emulation-fix.patch
* mm-page_alloc-debug_vm-checks-for-free_list-placement-of-cma-and-reserve-pages.patch
* mm-page_alloc-debug_vm-checks-for-free_list-placement-of-cma-and-reserve-pages-fix.patch
* zram-correct-offset-usage-in-zram_bio_discard.patch
* mm-zbudc-make-size-unsigned-like-unique-callsite.patch
* do_shared_fault-check-that-mmap_sem-is-held.patch
* sys_sgetmask-sys_ssetmask-add-config_sgetmask_syscall.patch
* compilerh-dont-use-temporary-variable-in-__compiletime_assert.patch
* kernel-cpuc-convert-printk-to-pr_foo.patch
* kernel-backtracetestc-replace-no-level-printk-by-pr_info.patch
* kernel-capabilityc-code-clean-up.patch
* kernel-exec_domainc-code-clean-up.patch
* kernel-latencytopc-convert-seq_printf-to-seq_puts.patch
* kernel-stop_machinec-kernel-doc-warning-fix.patch
* kernel-tracepointc-kernel-doc-fixes.patch
* kernel-res_counterc-replace-simple_strtoull-by-kstrtoull.patch
* kernel-res_counterc-replace-simple_strtoull-by-kstrtoull-fix.patch
* kernel-rebootc-convert-simple_strtoul-to-kstrtoint.patch
* kernel-utsname_sysctlc-replace-obsolete-__initcall-by-device_initcall.patch
* kernel-hung_taskc-convert-simple_strtoul-to-kstrtouint.patch
* kernel-userc-drop-unused-field-files-from-user_struct.patch
* drivers-misc-ti-st-st_corec-fix-null-dereference-on-protocol-type-check.patch
* printk-split-code-for-making-free-space-in-the-log-buffer.patch
* printk-ignore-too-long-messages.patch
* printk-split-message-size-computation.patch
* printk-shrink-too-long-messages.patch
* printk-return-really-stored-message-length.patch
* printk-remove-outdated-comment.patch
* printk-release-lockbuf_lock-before-calling-console_trylock_for_printk.patch
* printk-release-lockbuf_lock-before-calling-console_trylock_for_printk-fix.patch
* printk-fix-lockdep-instrumentation-of-console_sem.patch
* printk-enable-interrupts-before-calling-console_trylock_for_printk.patch
* printk-remove-separate-printk_sched-buffers-and-use-printk-buf-instead.patch
* printk-disable-preemption-for-printk_sched.patch
* printk-rename-printk_sched-to-printk_deferred.patch
* printk-add-printk_deferred_once.patch
* timekeeping-use-printk_deferred-when-holding-timekeeping-seqlock.patch
* documentation-expand-clarify-debug-documentation.patch
* printk-report-dropping-of-messages-from-logbuf.patch
* lib-vsprintf-add-%pt-format-specifier.patch
* maintainers-add-linux-api-for-review-of-api-abi-changes.patch
* drivers-video-backlight-backlightc-remove-backlight-sysfs-uevent.patch
* lib-stringc-use-the-name-c-string-in-comments.patch
* lib-xz-add-comments-for-the-intentionally-missing-break-statements.patch
* lib-plistc-replace-pr_debug-with-printk-in-plist_test.patch
* lib-xz-enable-all-filters-by-default-in-kconfig.patch
* lib-libcrc32cc-use-ptr_err_or_zero.patch
* lib-vsprintfc-fix-comparison-to-bool.patch
* lib-btreec-fix-leak-of-whole-btree-nodes.patch
* lib-btreec-fix-leak-of-whole-btree-nodes-fix.patch
* lib-plistc-make-config_debug_pi_list-selectable.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* kernel-compatc-use-sizeof-instead-of-sizeof.patch
* checkpatch-fix-wildcard-dt-compatible-string-checking.patch
* checkpatch-always-warn-on-missing-blank-line-after-variable-declaration-block.patch
* checkpatch-improve-missing-blank-line-after-declarations-test.patch
* checkpatch-make-strict-a-default-for-files-in-drivers-net-and-net.patch
* checkpatch-warn-on-defines-ending-in-semicolon.patch
* fs-binfmt_elfc-fix-bool-assignements.patch
* fs-binfmt_flatc-make-old_reloc-static.patch
* binfmt_elfc-use-get_random_int-to-fix-entropy-depleting.patch
* init-mainc-dont-use-pr_debug.patch
* init-mainc-add-initcall_blacklist-kernel-parameter.patch
* init-mainc-add-initcall_blacklist-kernel-parameter-fix.patch
* kthreads-kill-clone_kernel-change-kernel_threadkernel_init-to-avoid-clone_sighand.patch
* init-mainc-remove-an-ifdef.patch
* fs-autofs4-dev-ioctlc-add-__init-to-autofs_dev_ioctl_init.patch
* drivers-rtc-interfacec-fix-infinite-loop-in-initializing-the-alarm.patch
* drivers-rtc-interfacec-fix-infinite-loop-in-initializing-the-alarm-fix.patch
* documentation-devicetree-bindings-add-documentation-for-the-apm-x-gene-soc-rtc-dts-binding.patch
* drivers-rtc-add-apm-x-gene-soc-rtc-driver.patch
* arm64-add-apm-x-gene-soc-rtc-dts-entry.patch
* rtc-m41t80-remove-drv_version-macro.patch
* rtc-m41t80-clean-up-error-paths.patch
* rtc-m41t80-propagate-error-value-from-smbus-functions.patch
* rtc-m41t80-add-support-for-microcrystal-rv4162.patch
* drivers-rtc-rtc-efic-avoid-subtracting-day-twice-when-computing-year-days.patch
* rtc-rtc-cmos-drivers-char-rtcc-features-for-decstation-support.patch
* rtc-rtc-cmos-drivers-char-rtcc-features-for-decstation-support-fix.patch
* dec-switch-decstation-systems-to-rtc-cmos.patch
* drivers-rtc-rtc-88pm860xc-use-of_get_child_by_name.patch
* drivers-rtc-rtc-88pm860xc-add-missing-of_node_put.patch
* drivers-rtc-rtc-da9052c-alarm-causes-interrupt-storm.patch
* rtc-rtc-ds1742-make-of_device_id-array-const.patch
* rtc-rtc-hym8563-make-of_device_id-array-const.patch
* rtc-isl12057-make-of_device_id-array-const.patch
* rtc-rtc-mv-make-of_device_id-array-const.patch
* rtc-rtc-palmas-make-of_device_id-array-const.patch
* drivers-rtc-add-support-for-maxim-dallas-rtc-ds1343-and-ds1344.patch
* drivers-rtc-add-support-for-microchip-mcp795.patch
* rtc-da9063-rtc-driver.patch
* rtc-da9063-rtc-driver-fix.patch
* drivers-rtc-rtc-omapc-remove-multiple-device-id-checks.patch
* drivers-rtc-rtc-omapc-use-bit-macro.patch
* drivers-rtc-rtc-omapc-add-support-for-enabling-32khz-clock.patch
* drivers-rtc-rtc-bfinc-do-not-abort-when-requesting-irq-fails.patch
* drivers-rtc-rtc-puv3c-use-dev_dbg-instead-of-dev_debug-for-typo-issue.patch
* drivers-rtc-rtc-puv3c-remove-dev-for-typo-issue.patch
* rtc-rtc-at91rm9200-fix-infinite-wait-for-ackupd-irq.patch
* fs-befs-linuxvfsc-replace-strncpy-by-strlcpy.patch
* fs-befs-btreec-replace-strncpy-by-strlcpy-coding-style-fixing.patch
* fs-befs-linuxvfsc-remove-positive-test-on-sector_t.patch
* fs-befs-kernel-doc-fixes.patch
* fs-isofs-logging-clean-up.patch
* hfsplus-fixes-worst-case-unicode-to-char-conversion-of-file-names-and-attributes.patch
* hfsplus-fixes-worst-case-unicode-to-char-conversion-of-file-names-and-attributes-fix.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix.patch
* hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix-2.patch
* hfsplus-remove-unused-routine-hfsplus_attr_build_key_uni.patch
* hfsplus-emit-proper-file-type-from-readdir.patch
* hfsplus-fix-longname-handling.patch
* fs-ufs-ballocc-remove-err-parameter-in-ufs_add_fragments.patch
* fs-reiserfs-bitmapc-coding-style-fixes.patch
* fs-reiserfs-streec-remove-obsolete-__constant.patch
* fs-fat-add-support-for-dos-1x-formatted-volumes.patch
* fat-add-i_disksize-to-represent-uninitialized-size-v4.patch
* fat-add-fat_fallocate-operation-v4.patch
* fat-zero-out-seek-range-on-_fat_get_block-v4.patch
* fat-fallback-to-buffered-write-in-case-of-fallocated-region-on-direct-io-v4.patch
* fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region-v4.patch
* documentation-filesystems-vfattxt-update-the-limitation-for-fat-fallocate-v4.patch
* documentation-submittingpatches-describe-the-fixes-tag.patch
* ptrace-fix-fork-event-messages-across-pid-namespaces.patch
* signals-kill-sigfindinword.patch
* signals-s-siginitset-sigemptyset-in-do_sigtimedwait.patch
* signals-kill-rm_from_queue-change-prepare_signal-to-use-for_each_thread.patch
* signals-rename-rm_from_queue_full-to-flush_sigqueue_mask.patch
* signals-cleanup-the-usage-of-t-current-in-do_sigaction.patch
* signals-mv-disallow_signal-from-schedh-exitc-to-signal.patch
* signals-jffs2-fix-the-wrong-usage-of-disallow_signal.patch
* signals-kill-the-obsolete-sigdelset-and-recalc_sigpending-in-allow_signal.patch
* signals-disallow_signal-should-flush-the-potentially-pending-signal.patch
* signals-introduce-kernel_sigaction.patch
* signals-change-wait_for_helper-to-use-kernel_sigaction.patch
* smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu.patch
* smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch
* cpu-hotplug-stop-machine-plug-race-window-that-leads-to-ipi-to-offline-cpu.patch
* kernel-panicc-add-crash_kexec_post_notifiers-option-for-kdump-after-panic_notifers.patch
* kernel-kexecc-convert-printk-to-pr_foo.patch
* kexec-save-pg_head_mask-in-vmcoreinfo.patch
* idr-fix-overflow-bug-during-maximum-id-calculation-at-maximum-height.patch
* idr-fix-unexpected-id-removal-when-idr_removeunallocated_id.patch
* idr-fix-null-pointer-dereference-when-ida_removeunallocated_id.patch
* idr-fix-idr_replaces-returned-error-code.patch
* idr-dont-need-to-shink-the-free-list-when-idr_remove.patch
* idr-reduce-the-unneeded-check-in-free_layer.patch
* idr-reorder-the-fields.patch
* sysctl-clean-up-char-buffer-arguments.patch
* sysctl-refactor-sysctl-string-writing-logic.patch
* sysctl-allow-for-strict-write-position-handling.patch
* sysctl-allow-for-strict-write-position-handling-fix-2.patch
* sysctl-allow-for-strict-write-position-handling-fix.patch
* sysctl-allow-for-strict-write-position-handling-fix-3.patch
* tools-testing-selftests-sysctl-validate-sysctl_writes_strict.patch
* kernel-user_namespacec-kernel-doc-checkpatch-fixes.patch
* fs-affs-filec-remove-unnecessary-function-parameters.patch
* fs-affs-convert-printk-to-pr_foo.patch
* fs-affs-pr_debug-cleanup.patch
* kernel-profilec-convert-printk-to-pr_foo.patch
* kernel-profilec-use-static-const-char-instead-of-static-char.patch
* fs-pstore-logging-clean-up.patch
* fs-pstore-logging-clean-up-fix.patch
* initramfs-remove-compression-mode-choice.patch
* ipc-constify-ipc_ops.patch
* ipc-kernel-use-linux-headers.patch
* ipc-kernel-clear-whitespace.patch
* ipc-shmc-check-for-ulong-overflows-in-shmat.patch
* ipc-shmc-check-for-overflows-of-shm_tot.patch
* ipc-shmc-check-for-integer-overflow-during-shmget.patch
* ipc-shmc-increase-the-defaults-for-shmall-shmmax.patch
* ipcshm-document-new-limits-in-the-uapi-header.patch
* ipcshm-document-new-limits-in-the-uapi-header-v2.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix-2.patch
* lib-scatterlist-make-arch_has_sg_chain-an-actual-kconfig-fix-3.patch
* lib-scatterlist-clean-up-useless-architecture-versions-of-scatterlisth.patch
* kernel-seccompc-kernel-doc-warning-fix.patch
* sysrq-rcu-ify-__handle_sysrq.patch
* sysrqrcu-suppress-rcu-stall-warnings-while-sysrq-runs.patch
  linux-next.patch
  linux-next-rejects.patch
* drivers-gpio-gpio-zevioc-fix-build.patch
* mm-page_ioc-work-around-gcc-bug.patch
* arm-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ia64-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* tile-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* cdrom-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* random-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* parport-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* scsi-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* coda-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* fscache-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* lockd-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* nfs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* inotify-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ntfs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* fs-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* key-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* ipc-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* sysctl-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* mm-convert-use-of-typedef-ctl_table-to-struct-ctl_table.patch
* mfd-rtc-sec-s5m-rename-sec-symbols-to-s5m.patch
* rtc-s5m-remove-undocumented-time-init-on-first-boot.patch
* rtc-s5m-use-shorter-time-of-register-update.patch
* rtc-s5m-support-different-register-layout.patch
* rtc-s5m-add-support-for-s2mps14-rtc.patch
* rtc-s5m-consolidate-two-device-type-switch-statements.patch
* blackfin-ptrace-call-find_vma-with-the-mmap_sem-held.patch
* kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection.patch
* kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix.patch
* kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix-2.patch
* kernel-watchdogc-convert-printk-pr_warning-to-pr_foo.patch
* init-mainc-code-clean-up.patch
* kernel-rcu-treec-make-rcu-node-arrays-static-const-char-const.patch
* kernel-kprobesc-convert-printk-to-pr_foo.patch
* kernel-power-hibernatec-convert-simple_strtoul-to-kstrtoul.patch
* w1-call-put_device-if-device_register-fails.patch
* arm-move-arm_dma_limit-to-setup_dma_zone.patch
* ufs-sb-mutex-merge-mutex_destroy.patch
* mm-add-strictlimit-knob-v2.patch
  debugging-keep-track-of-page-owners.patch
  page-owners-correct-page-order-when-to-free-page.patch
  make-sure-nobodys-leaking-resources.patch
  journal_add_journal_head-debug.patch
  journal_add_journal_head-debug-fix.patch
  releasing-resources-with-children.patch
  make-frame_pointer-default=y.patch
  kernel-forkc-export-kernel_thread-to-modules.patch
  mutex-subsystem-synchro-test-module.patch
  slab-leaks3-default-y.patch
  put_bh-debug.patch
  add-debugging-aid-for-memory-initialisation-problems.patch
  workaround-for-a-pci-restoring-bug.patch
  single_open-seq_release-leak-diagnostics.patch

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c)
  2014-05-09 23:18 mmotm 2014-05-09-16-17 uploaded akpm
@ 2014-05-10 17:15 ` Randy Dunlap
  2014-05-13 17:14   ` David Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Randy Dunlap @ 2014-05-10 17:15 UTC (permalink / raw)
  To: akpm, netdev@vger.kernel.org, linux-kernel, linux-next; +Cc: Richard Weinberger

On 05/09/2014 04:18 PM, akpm@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2014-05-09-16-17 has been uploaded to
> 
>    http://www.ozlabs.org/~akpm/mmotm/
> 


uml defconfig on x86_64: (also happens in linux-next)

net/core/filter.c:57:0: warning: "R8" redefined [enabled by default]
arch/x86/include/uapi/asm/ptrace-abi.h:38:0: note: this is the location of the previous definition

Same warnings for R9 and R10.

-- 
~Randy

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c)
  2014-05-10 17:15 ` mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c) Randy Dunlap
@ 2014-05-13 17:14   ` David Miller
  2014-05-13 17:41     ` Alexei Starovoitov
  0 siblings, 1 reply; 4+ messages in thread
From: David Miller @ 2014-05-13 17:14 UTC (permalink / raw)
  To: rdunlap; +Cc: akpm, netdev, linux-kernel, linux-next, richard

From: Randy Dunlap <rdunlap@infradead.org>
Date: Sat, 10 May 2014 10:15:37 -0700

> On 05/09/2014 04:18 PM, akpm@linux-foundation.org wrote:
>> The mm-of-the-moment snapshot 2014-05-09-16-17 has been uploaded to
>> 
>>    http://www.ozlabs.org/~akpm/mmotm/
>> 
> 
> 
> uml defconfig on x86_64: (also happens in linux-next)
> 
> net/core/filter.c:57:0: warning: "R8" redefined [enabled by default]
> arch/x86/include/uapi/asm/ptrace-abi.h:38:0: note: this is the location of the previous definition
> 
> Same warnings for R9 and R10.

I'm going to commit the following to net-next to fix this,
thanks Randy.

====================
[PATCH] net: filter: Fix redefinition warnings on x86-64.

Do not collide with the x86-64 PTRACE user API namespace.

net/core/filter.c:57:0: warning: "R8" redefined [enabled by default]
arch/x86/include/uapi/asm/ptrace-abi.h:38:0: note: this is the location of the previous definition

Fix by adding a BPF_ prefix to the register macros.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/core/filter.c | 71 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 37 insertions(+), 34 deletions(-)

diff --git a/net/core/filter.c b/net/core/filter.c
index 9aaa05a..c442a0d 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -46,17 +46,17 @@
 #include <linux/if_vlan.h>
 
 /* Registers */
-#define R0	regs[BPF_REG_0]
-#define R1	regs[BPF_REG_1]
-#define R2	regs[BPF_REG_2]
-#define R3	regs[BPF_REG_3]
-#define R4	regs[BPF_REG_4]
-#define R5	regs[BPF_REG_5]
-#define R6	regs[BPF_REG_6]
-#define R7	regs[BPF_REG_7]
-#define R8	regs[BPF_REG_8]
-#define R9	regs[BPF_REG_9]
-#define R10	regs[BPF_REG_10]
+#define BPF_R0	regs[BPF_REG_0]
+#define BPF_R1	regs[BPF_REG_1]
+#define BPF_R2	regs[BPF_REG_2]
+#define BPF_R3	regs[BPF_REG_3]
+#define BPF_R4	regs[BPF_REG_4]
+#define BPF_R5	regs[BPF_REG_5]
+#define BPF_R6	regs[BPF_REG_6]
+#define BPF_R7	regs[BPF_REG_7]
+#define BPF_R8	regs[BPF_REG_8]
+#define BPF_R9	regs[BPF_REG_9]
+#define BPF_R10	regs[BPF_REG_10]
 
 /* Named registers */
 #define A	regs[insn->a_reg]
@@ -383,10 +383,12 @@ select_insn:
 
 	/* CALL */
 	JMP_CALL_0:
-		/* Function call scratches R1-R5 registers, preserves R6-R9,
-		 * and stores return value into R0.
+		/* Function call scratches BPF_R1-BPF_R5 registers,
+		 * preserves BPF_R6-BPF_R9, and stores return value
+		 * into BPF_R0.
 		 */
-		R0 = (__bpf_call_base + insn->imm)(R1, R2, R3, R4, R5);
+		BPF_R0 = (__bpf_call_base + insn->imm)(BPF_R1, BPF_R2, BPF_R3,
+						       BPF_R4, BPF_R5);
 		CONT;
 
 	/* JMP */
@@ -478,7 +480,7 @@ select_insn:
 		}
 		CONT;
 	JMP_EXIT_0:
-		return R0;
+		return BPF_R0;
 
 	/* STX and ST and LDX*/
 #define LDST(SIZEOP, SIZE)					\
@@ -505,18 +507,19 @@ select_insn:
 		atomic64_add((u64) X, (atomic64_t *)(unsigned long)
 			     (A + insn->off));
 		CONT;
-	LD_ABS_W: /* R0 = ntohl(*(u32 *) (skb->data + K)) */
+	LD_ABS_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + K)) */
 		off = K;
 load_word:
-		/* BPF_LD + BPD_ABS and BPF_LD + BPF_IND insns are only
-		 * appearing in the programs where ctx == skb. All programs
-		 * keep 'ctx' in regs[BPF_REG_CTX] == R6, sk_convert_filter()
-		 * saves it in R6, internal BPF verifier will check that
-		 * R6 == ctx.
+		/* BPF_LD + BPD_ABS and BPF_LD + BPF_IND insns are
+		 * only appearing in the programs where ctx ==
+		 * skb. All programs keep 'ctx' in regs[BPF_REG_CTX]
+		 * == BPF_R6, sk_convert_filter() saves it in BPF_R6,
+		 * internal BPF verifier will check that BPF_R6 ==
+		 * ctx.
 		 *
-		 * BPF_ABS and BPF_IND are wrappers of function calls, so
-		 * they scratch R1-R5 registers, preserve R6-R9, and store
-		 * return value into R0.
+		 * BPF_ABS and BPF_IND are wrappers of function calls,
+		 * so they scratch BPF_R1-BPF_R5 registers, preserve
+		 * BPF_R6-BPF_R9, and store return value into BPF_R0.
 		 *
 		 * Implicit input:
 		 *   ctx
@@ -526,39 +529,39 @@ load_word:
 		 *   K == 32-bit immediate
 		 *
 		 * Output:
-		 *   R0 - 8/16/32-bit skb data converted to cpu endianness
+		 *   BPF_R0 - 8/16/32-bit skb data converted to cpu endianness
 		 */
 		ptr = load_pointer((struct sk_buff *) ctx, off, 4, &tmp);
 		if (likely(ptr != NULL)) {
-			R0 = get_unaligned_be32(ptr);
+			BPF_R0 = get_unaligned_be32(ptr);
 			CONT;
 		}
 		return 0;
-	LD_ABS_H: /* R0 = ntohs(*(u16 *) (skb->data + K)) */
+	LD_ABS_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + K)) */
 		off = K;
 load_half:
 		ptr = load_pointer((struct sk_buff *) ctx, off, 2, &tmp);
 		if (likely(ptr != NULL)) {
-			R0 = get_unaligned_be16(ptr);
+			BPF_R0 = get_unaligned_be16(ptr);
 			CONT;
 		}
 		return 0;
-	LD_ABS_B: /* R0 = *(u8 *) (ctx + K) */
+	LD_ABS_B: /* BPF_R0 = *(u8 *) (ctx + K) */
 		off = K;
 load_byte:
 		ptr = load_pointer((struct sk_buff *) ctx, off, 1, &tmp);
 		if (likely(ptr != NULL)) {
-			R0 = *(u8 *)ptr;
+			BPF_R0 = *(u8 *)ptr;
 			CONT;
 		}
 		return 0;
-	LD_IND_W: /* R0 = ntohl(*(u32 *) (skb->data + X + K)) */
+	LD_IND_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + X + K)) */
 		off = K + X;
 		goto load_word;
-	LD_IND_H: /* R0 = ntohs(*(u16 *) (skb->data + X + K)) */
+	LD_IND_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + X + K)) */
 		off = K + X;
 		goto load_half;
-	LD_IND_B: /* R0 = *(u8 *) (skb->data + X + K) */
+	LD_IND_B: /* BPF_R0 = *(u8 *) (skb->data + X + K) */
 		off = K + X;
 		goto load_byte;
 
@@ -1001,7 +1004,7 @@ do_pass:
 			*insn = BPF_ALU64_REG(BPF_MOV, BPF_REG_TMP, BPF_REG_A);
 			insn++;
 
-			/* A = R0 = *(u8 *) (skb->data + K) */
+			/* A = BPF_R0 = *(u8 *) (skb->data + K) */
 			*insn = BPF_LD_ABS(BPF_B, fp->k);
 			insn++;
 
-- 
1.9.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c)
  2014-05-13 17:14   ` David Miller
@ 2014-05-13 17:41     ` Alexei Starovoitov
  0 siblings, 0 replies; 4+ messages in thread
From: Alexei Starovoitov @ 2014-05-13 17:41 UTC (permalink / raw)
  To: David Miller
  Cc: Randy Dunlap, Andrew Morton, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-next@vger.kernel.org, richard

On Tue, May 13, 2014 at 10:14 AM, David Miller <davem@davemloft.net> wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
> Date: Sat, 10 May 2014 10:15:37 -0700
>
>> On 05/09/2014 04:18 PM, akpm@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2014-05-09-16-17 has been uploaded to
>>>
>>>    http://www.ozlabs.org/~akpm/mmotm/
>>>
>>
>>
>> uml defconfig on x86_64: (also happens in linux-next)
>>
>> net/core/filter.c:57:0: warning: "R8" redefined [enabled by default]
>> arch/x86/include/uapi/asm/ptrace-abi.h:38:0: note: this is the location of the previous definition
>>
>> Same warnings for R9 and R10.
>
> I'm going to commit the following to net-next to fix this,
> thanks Randy.
>
> ====================
> [PATCH] net: filter: Fix redefinition warnings on x86-64.
>
> Do not collide with the x86-64 PTRACE user API namespace.
>
> net/core/filter.c:57:0: warning: "R8" redefined [enabled by default]
> arch/x86/include/uapi/asm/ptrace-abi.h:38:0: note: this is the location of the previous definition
>
> Fix by adding a BPF_ prefix to the register macros.
>
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: David S. Miller <davem@davemloft.net>

thank you for taking care of it.
Next time will remember to do arch=um build...

Acked-by: Alexei Starovoitov <ast@plumgrid.com>

> ---
>  net/core/filter.c | 71 +++++++++++++++++++++++++++++--------------------------
>  1 file changed, 37 insertions(+), 34 deletions(-)
>
> diff --git a/net/core/filter.c b/net/core/filter.c
> index 9aaa05a..c442a0d 100644
> --- a/net/core/filter.c
> +++ b/net/core/filter.c
> @@ -46,17 +46,17 @@
>  #include <linux/if_vlan.h>
>
>  /* Registers */
> -#define R0     regs[BPF_REG_0]
> -#define R1     regs[BPF_REG_1]
> -#define R2     regs[BPF_REG_2]
> -#define R3     regs[BPF_REG_3]
> -#define R4     regs[BPF_REG_4]
> -#define R5     regs[BPF_REG_5]
> -#define R6     regs[BPF_REG_6]
> -#define R7     regs[BPF_REG_7]
> -#define R8     regs[BPF_REG_8]
> -#define R9     regs[BPF_REG_9]
> -#define R10    regs[BPF_REG_10]
> +#define BPF_R0 regs[BPF_REG_0]
> +#define BPF_R1 regs[BPF_REG_1]
> +#define BPF_R2 regs[BPF_REG_2]
> +#define BPF_R3 regs[BPF_REG_3]
> +#define BPF_R4 regs[BPF_REG_4]
> +#define BPF_R5 regs[BPF_REG_5]
> +#define BPF_R6 regs[BPF_REG_6]
> +#define BPF_R7 regs[BPF_REG_7]
> +#define BPF_R8 regs[BPF_REG_8]
> +#define BPF_R9 regs[BPF_REG_9]
> +#define BPF_R10        regs[BPF_REG_10]
>
>  /* Named registers */
>  #define A      regs[insn->a_reg]
> @@ -383,10 +383,12 @@ select_insn:
>
>         /* CALL */
>         JMP_CALL_0:
> -               /* Function call scratches R1-R5 registers, preserves R6-R9,
> -                * and stores return value into R0.
> +               /* Function call scratches BPF_R1-BPF_R5 registers,
> +                * preserves BPF_R6-BPF_R9, and stores return value
> +                * into BPF_R0.
>                  */
> -               R0 = (__bpf_call_base + insn->imm)(R1, R2, R3, R4, R5);
> +               BPF_R0 = (__bpf_call_base + insn->imm)(BPF_R1, BPF_R2, BPF_R3,
> +                                                      BPF_R4, BPF_R5);
>                 CONT;
>
>         /* JMP */
> @@ -478,7 +480,7 @@ select_insn:
>                 }
>                 CONT;
>         JMP_EXIT_0:
> -               return R0;
> +               return BPF_R0;
>
>         /* STX and ST and LDX*/
>  #define LDST(SIZEOP, SIZE)                                     \
> @@ -505,18 +507,19 @@ select_insn:
>                 atomic64_add((u64) X, (atomic64_t *)(unsigned long)
>                              (A + insn->off));
>                 CONT;
> -       LD_ABS_W: /* R0 = ntohl(*(u32 *) (skb->data + K)) */
> +       LD_ABS_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + K)) */
>                 off = K;
>  load_word:
> -               /* BPF_LD + BPD_ABS and BPF_LD + BPF_IND insns are only
> -                * appearing in the programs where ctx == skb. All programs
> -                * keep 'ctx' in regs[BPF_REG_CTX] == R6, sk_convert_filter()
> -                * saves it in R6, internal BPF verifier will check that
> -                * R6 == ctx.
> +               /* BPF_LD + BPD_ABS and BPF_LD + BPF_IND insns are
> +                * only appearing in the programs where ctx ==
> +                * skb. All programs keep 'ctx' in regs[BPF_REG_CTX]
> +                * == BPF_R6, sk_convert_filter() saves it in BPF_R6,
> +                * internal BPF verifier will check that BPF_R6 ==
> +                * ctx.
>                  *
> -                * BPF_ABS and BPF_IND are wrappers of function calls, so
> -                * they scratch R1-R5 registers, preserve R6-R9, and store
> -                * return value into R0.
> +                * BPF_ABS and BPF_IND are wrappers of function calls,
> +                * so they scratch BPF_R1-BPF_R5 registers, preserve
> +                * BPF_R6-BPF_R9, and store return value into BPF_R0.
>                  *
>                  * Implicit input:
>                  *   ctx
> @@ -526,39 +529,39 @@ load_word:
>                  *   K == 32-bit immediate
>                  *
>                  * Output:
> -                *   R0 - 8/16/32-bit skb data converted to cpu endianness
> +                *   BPF_R0 - 8/16/32-bit skb data converted to cpu endianness
>                  */
>                 ptr = load_pointer((struct sk_buff *) ctx, off, 4, &tmp);
>                 if (likely(ptr != NULL)) {
> -                       R0 = get_unaligned_be32(ptr);
> +                       BPF_R0 = get_unaligned_be32(ptr);
>                         CONT;
>                 }
>                 return 0;
> -       LD_ABS_H: /* R0 = ntohs(*(u16 *) (skb->data + K)) */
> +       LD_ABS_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + K)) */
>                 off = K;
>  load_half:
>                 ptr = load_pointer((struct sk_buff *) ctx, off, 2, &tmp);
>                 if (likely(ptr != NULL)) {
> -                       R0 = get_unaligned_be16(ptr);
> +                       BPF_R0 = get_unaligned_be16(ptr);
>                         CONT;
>                 }
>                 return 0;
> -       LD_ABS_B: /* R0 = *(u8 *) (ctx + K) */
> +       LD_ABS_B: /* BPF_R0 = *(u8 *) (ctx + K) */
>                 off = K;
>  load_byte:
>                 ptr = load_pointer((struct sk_buff *) ctx, off, 1, &tmp);
>                 if (likely(ptr != NULL)) {
> -                       R0 = *(u8 *)ptr;
> +                       BPF_R0 = *(u8 *)ptr;
>                         CONT;
>                 }
>                 return 0;
> -       LD_IND_W: /* R0 = ntohl(*(u32 *) (skb->data + X + K)) */
> +       LD_IND_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + X + K)) */
>                 off = K + X;
>                 goto load_word;
> -       LD_IND_H: /* R0 = ntohs(*(u16 *) (skb->data + X + K)) */
> +       LD_IND_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + X + K)) */
>                 off = K + X;
>                 goto load_half;
> -       LD_IND_B: /* R0 = *(u8 *) (skb->data + X + K) */
> +       LD_IND_B: /* BPF_R0 = *(u8 *) (skb->data + X + K) */
>                 off = K + X;
>                 goto load_byte;
>
> @@ -1001,7 +1004,7 @@ do_pass:
>                         *insn = BPF_ALU64_REG(BPF_MOV, BPF_REG_TMP, BPF_REG_A);
>                         insn++;
>
> -                       /* A = R0 = *(u8 *) (skb->data + K) */
> +                       /* A = BPF_R0 = *(u8 *) (skb->data + K) */
>                         *insn = BPF_LD_ABS(BPF_B, fp->k);
>                         insn++;
>
> --
> 1.9.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-05-13 17:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-09 23:18 mmotm 2014-05-09-16-17 uploaded akpm
2014-05-10 17:15 ` mmotm 2014-05-09-16-17 uploaded (ptrace-ab.hi vs. net/core/filter.c) Randy Dunlap
2014-05-13 17:14   ` David Miller
2014-05-13 17:41     ` Alexei Starovoitov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).