https://github.com/torvalds/linux
Revision 0033dfd92a5646a78025e86f8df4d5b18181ba2c authored by Anton Ivanov on 08 November 2018, 13:07:23 UTC, committed by Jens Axboe on 08 November 2018, 13:16:09 UTC
The SYNC path doesn't initialize io_req->error, which can cause
random errors. Before the conversion to blk-mq, we always
completed requests with BLK_STS_OK status, but now we actually
look at the error field and this issue becomes apparent.

Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>

[axboe: fixed up commit message to explain what is actually going on]

Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent f3587d7
Raw File
Tip revision: 0033dfd92a5646a78025e86f8df4d5b18181ba2c authored by Anton Ivanov on 08 November 2018, 13:07:23 UTC
ubd: fix missing initialization of io_req
Tip revision: 0033dfd
Makefile.ubsan
# SPDX-License-Identifier: GPL-2.0
ifdef CONFIG_UBSAN
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=shift)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=vla-bound)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=bool)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=enum)

ifdef CONFIG_UBSAN_ALIGNMENT
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)
endif

      # -fsanitize=* options makes GCC less smart than usual and
      # increase number of 'maybe-uninitialized false-positives
      CFLAGS_UBSAN += $(call cc-option, -Wno-maybe-uninitialized)
endif
back to top