diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 3ae17e254fc304aa37f95ee0e18fe77fe772afeb..688b4cf72d998b31eae23d2e9b897f05356cffb1 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1920,6 +1920,11 @@ tracing_iter_ctrl_write(struct file *filp, const char __user *ubuf,
 			break;
 		}
 	}
+	/*
+	 * If no option could be set, return an error:
+	 */
+	if (!trace_options[i])
+		return -EINVAL;
 
 	filp->f_pos += cnt;