The patch titled ALIGN(): avoid evaluating its argument twice has been removed from the -mm tree. Its filename was align-avoid-evaluating-its-argument-twice.patch This patch was dropped because it had testing failures The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: ALIGN(): avoid evaluating its argument twice From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> ALIGN() will misbehave if passed an expression with side-effects. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/kernel.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff -puN include/linux/kernel.h~align-avoid-evaluating-its-argument-twice include/linux/kernel.h --- a/include/linux/kernel.h~align-avoid-evaluating-its-argument-twice +++ a/include/linux/kernel.h @@ -39,7 +39,12 @@ extern const char linux_proc_banner[]; #define STACK_MAGIC 0xdeadbeef #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) -#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) + +#define __ALIGN_MASK(x,mask) ({ \ + typeof(mask) __mask = mask; \ + (((x) + __mask) & ~__mask); \ +}) + #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are cpusets-update-mems-allowed-in-page-allocator-fix.patch remove-ratelimt.patch doc-add-printk-formatstxt-fix.patch kernel-kprobesc-dont-pad-kretprobe_table_locks-on-uniprocessor-builds.patch rtc-rtc-wm8350-add-support-for-wm8350-rtc.patch rtc-basic-implementation-of-epson-rx-8581-i2c-real-time-clock.patch w1-export-w1_read_8-function-checkpatch-fixes.patch mm-remove-the-might_sleep-from-lock_page.patch linux-next.patch next-remove-localversion.patch arch-x86-kernel-setupc-omit-dmi_low_memory_corruption-when-it-is-unneeded.patch tick-schedc-suppress-needless-timer-reprogramming.patch linux-timexh-cleanup-for-userspace.patch drivers-input-touchscreen-ucb1400_tsc-needs-gpio.patch input-ad7879-fix-workaroud-build-error-reported-by-andrew-morton.patch pci-uninline-pci_ioremap_bar.patch pcie-add-option-to-passively-listen-for-pcie-hotplug-events-checkpatch-fixes.patch align-avoid-evaluating-its-argument-twice.patch vfs-lseekfd-0-seek_cur-race-condition-fix.patch bdi-register-sysfs-bdi-device-only-once-per-queue-fix.patch scsi-dpt_i2o-is-bust-on-ia64.patch alsa-fix-snd_bug_on-and-friends.patch mm-invoke-oom-killer-from-page-fault-fix.patch mm-invoke-oom-killer-from-page-fault-fix-fix-2.patch mm-write_cache_pages-more-terminate-quickly.patch init-properly-placing-noinline-keyword.patch binfmtsh-include-listh-fix.patch spi_gpio-driver-cleanups.patch quota-permit-separately-enabling-quota-accounting-and-enforcing-limits-fix.patch quota-move-quotaio_vh-from-include-linux-to-fs-fix.patch quota-move-quotaio_vh-from-include-linux-to-fs-fix-2.patch quota-convert-union-in-mem_dqinfo-to-a-pointer-cleanup.patch quota-support-64-bit-quota-format-fix.patch quota-support-64-bit-quota-format-fix-2.patch memcg-introduce-charge-commit-cancel-style-of-functions-fix.patch edac-struct-device-replace-bus_id-with-dev_name-dev_set_name-checkpatch-fixes.patch edac-x38-use-the-architectures-readq-function-fix.patch filesystem-freeze-implement-generic-freeze-feature-fix.patch nilfs2-inode-operations-fix.patch nilfs2-pathname-operations-fix.patch nilfs2-super-block-operations-fix.patch reiser4.patch reiser4-tree_lock-fixes.patch reiser4-tree_lock-fixes-fix.patch reiser4-semaphore-fix.patch slb-drop-kmem-cache-argument-from-constructor-reiser4.patch reiser4-suid.patch reiser4-track-upstream-changes.patch reiser4-broke.patch nr_blockdev_pages-in_interrupt-warning.patch slab-leaks3-default-y.patch put_bh-debug.patch shrink_slab-handle-bad-shrinkers.patch getblk-handle-2tb-devices.patch getblk-handle-2tb-devices-fix.patch undeprecate-pci_find_device.patch notify_change-callers-must-hold-i_mutex.patch profile-likely-unlikely-macros.patch drivers-net-bonding-bond_sysfsc-suppress-uninitialized-var-warning.patch w1-build-fix.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html