The patch titled Subject: fs/exec.c: work around icc miscompilation has been removed from the -mm tree. Its filename was fs-execc-work-around-icc-miscompilation.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Xi Wang <xi.wang@xxxxxxxxx> Subject: fs/exec.c: work around icc miscompilation The tricky problem is this check: if (i++ >= max) icc (mis)optimizes this check as: if (++i > max) The check now becomes a no-op since max is MAX_ARG_STRINGS (0x7FFFFFFF). This is "allowed" by the C standard, assuming i++ never overflows, because signed integer overflow is undefined behavior. This optimization effectively reverts the previous commit 362e6663ef ("exec.c, compat.c: fix count(), compat_count() bounds checking") that tries to fix the check. This patch simply moves ++ after the check. Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/exec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN fs/exec.c~fs-execc-work-around-icc-miscompilation fs/exec.c --- a/fs/exec.c~fs-execc-work-around-icc-miscompilation +++ a/fs/exec.c @@ -434,8 +434,9 @@ static int count(struct user_arg_ptr arg if (IS_ERR(p)) return -EFAULT; - if (i++ >= max) + if (i >= max) return -E2BIG; + ++i; if (fatal_signal_pending(current)) return -ERESTARTNOHAND; _ Patches currently in -mm which might be from xi.wang@xxxxxxxxx are origin.patch linux-next.patch drivers-usb-gadget-amd5536udcc-avoid-calling-dma_pool_create-with-null-dev.patch mm-dmapoolc-fix-null-dev-in-dma_pool_create.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