Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3120722imm; Mon, 16 Jul 2018 22:27:53 -0700 (PDT) X-Google-Smtp-Source: AAOMgpe8uX3FvYZnXat7qd3ER9BDoBsWktZifpo92qwOHbHamohn0aZaVUl1MzqEagnww5mkb2Z+ X-Received: by 2002:a62:8b87:: with SMTP id e7-v6mr176660pfl.133.1531805273703; Mon, 16 Jul 2018 22:27:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531805273; cv=none; d=google.com; s=arc-20160816; b=qocsFTXOjuXXWkjXYEIGr7R9G4o1W/drP9tSHlqwmZJu/HExFi+mAKttJxr67sALLL JJjFqVvmU2bEWMy8kGZ7rEGncD8wkXJ8Uh3e8gBxy3KO4bp5tdnLRGgVsK1QBQ5v7Jvt cd5vCW80xrfhPpa8u8Af+rUzwJtBLMfc7OdzAscWFKmaUJUzHhlF9XVX+xAwq2n33OLu 1j8R6ZHUuOCEO1vjY2hnBabEdTLd9GMMw2aRtoLWCDaxg9Gl9WTz9ufPGir1FiZMZY2E oS5kgbF1IKi7qGKO4nVl8o/y97a+6Jy9pJmnisFXylYYFXzDW/d0hxW+s28qg9rE9Gx8 G9Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=t2syHFAVsT7cvHQN2OOZsFRPD9ASDnMqJwAi9IMpW2E=; b=Zr2mhwsIiPlt5nZmOSLuK3YVUnLZ6OzCsURdSgjaJik/1tujyM1aYPuXnZ5exdalfk dUxaw40gZbpUTkr1fS9565hqlhP8BcdfXomS6YHAlb/lWPPyLYQjiwo05Zc3AoYqvpGV Dw21JluWajeCXm1bMbLzDjdBVdoMtFXPEGCcWBT9vDk/TAqOCxL4hH4h9iMz9fgR5vHU FRe7dlNesA/IXXevji2h/lnK5fbMZaQiEGr4/jiQq03JsMufWArEow1XIPM5trtxqwJN 4go9f9u5u0PoV48Fs4pLLzN36vkGe5vkzUm+GaVK2q0ICk/fQ68kuo7vehgMYpN/XvhS 8Ogw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d5-v6si60601pla.337.2018.07.16.22.27.38; Mon, 16 Jul 2018 22:27:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727874AbeGQF5x (ORCPT + 99 others); Tue, 17 Jul 2018 01:57:53 -0400 Received: from smtp2.provo.novell.com ([137.65.250.81]:36682 "EHLO smtp2.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727350AbeGQF5w (ORCPT ); Tue, 17 Jul 2018 01:57:52 -0400 Received: from linux-r8p5.suse.de (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by smtp2.provo.novell.com with ESMTP (TLS encrypted); Mon, 16 Jul 2018 23:27:02 -0600 From: Davidlohr Bueso To: akpm@linux-foundation.org Cc: manfred@colorfullife.com, dave@stgolabs.net, linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: [PATCH -next] ipc/sem: prevent queue.status tearing in semop Date: Mon, 16 Jul 2018 22:26:54 -0700 Message-Id: <20180717052654.676-1-dave@stgolabs.net> X-Mailer: git-send-email 2.16.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order for load/store tearing to work, _all_ accesses to the variable in question need to be done around READ and WRITE_ONCE() macros. Ensure everyone does so for q->status variable for semtimedop(). Signed-off-by: Davidlohr Bueso --- ipc/sem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipc/sem.c b/ipc/sem.c index 6cbbf34a44ac..ccab4e51d351 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -2125,7 +2125,7 @@ static long do_semtimedop(int semid, struct sembuf __user *tsops, } do { - queue.status = -EINTR; + WRITE_ONCE(queue.status, -EINTR); queue.sleeper = current; __set_current_state(TASK_INTERRUPTIBLE); -- 2.16.4