1. 09 9月, 2016 1 次提交
  2. 19 7月, 2016 1 次提交
  3. 16 6月, 2016 2 次提交
  4. 12 5月, 2016 1 次提交
  5. 14 4月, 2016 1 次提交
  6. 08 4月, 2016 1 次提交
  7. 07 4月, 2016 1 次提交
  8. 07 3月, 2016 2 次提交
  9. 06 2月, 2016 2 次提交
  10. 20 1月, 2016 1 次提交
  11. 08 1月, 2016 2 次提交
  12. 11 12月, 2015 1 次提交
    • K
      brcmfmac: fix waitqueue_active without memory barrier in brcmfmac driver · a7decc44
      Kosuke Tatsukawa 提交于
      brcmf_msgbuf_ioctl_resp_wake() seems to be missing a memory barrier
      which might cause the waker to not notice the waiter and miss sending a
      wake_up as in the following figure.
      
        brcmf_msgbuf_ioctl_resp_wake		    brcmf_msgbuf_ioctl_resp_wait
      ------------------------------------------------------------------------
      if (waitqueue_active(&msgbuf->ioctl_resp_wait))
      /* The CPU might reorder the test for
         the waitqueue up here, before
         prior writes complete */
         	   	     	 	       /* wait_event_timeout */
      				        /* __wait_event_timeout */
      					 /* ___wait_event */
      					 prepare_to_wait_event(&wq, &__wait,
      					   state);
      					 if (msgbuf->ctl_completed)
      					 ...
      msgbuf->ctl_completed = true;
      					 schedule_timeout(__ret))
      ------------------------------------------------------------------------
      
      There are three other place in drivers/net/wireless/brcm80211/brcmfmac/
      which have similar code.  The attached patch removes the call to
      waitqueue_active() leaving just wake_up() behind.  This fixes the
      problem because the call to spin_lock_irqsave() in wake_up() will be an
      ACQUIRE operation.
      
      I found this issue when I was looking through the linux source code
      for places calling waitqueue_active() before wake_up*(), but without
      preceding memory barriers, after sending a patch to fix a similar
      issue in drivers/tty/n_tty.c  (Details about the original issue can be
      found here: https://lkml.org/lkml/2015/9/28/849).
      Reviewed-by: NHante Meuleman <meuleman@broadcom.com>
      Reviewed-by: NFranky (Zhenhui) Lin <frankyl@broadcom.com>
      Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: NKosuke Tatsukawa <tatsu@ab.jp.nec.com>
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a7decc44
  13. 30 11月, 2015 2 次提交
  14. 26 11月, 2015 1 次提交
  15. 18 11月, 2015 1 次提交
  16. 21 10月, 2015 1 次提交
  17. 29 9月, 2015 2 次提交
  18. 13 8月, 2015 1 次提交
  19. 15 6月, 2015 1 次提交
  20. 09 5月, 2015 2 次提交
  21. 20 3月, 2015 3 次提交
  22. 13 3月, 2015 9 次提交
  23. 26 2月, 2015 1 次提交