]> www.infradead.org Git - users/jedix/linux-maple.git/commit
fix kABI breakage from "blk-mq: fix race between timeout and freeing request"
authorDan Duval <dan.duval@oracle.com>
Wed, 8 Jun 2016 20:55:48 +0000 (16:55 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 13 Jul 2016 07:09:50 +0000 (00:09 -0700)
commitd17e724b395f17024e16740406b59fef23a718c5
tree463a94457aa1955b2e1210eac1689b9b6defbb0a
parent06cd1e239d27d5c26b909b79f373bc123e888f27
fix kABI breakage from "blk-mq: fix race between timeout and freeing request"

Orabug: 23521058

Commit 21d62f6 ("blk-mq: fix race between timeout and freeing request")
added the element "orig_rq" to struct blk_flush_queue.  This broke kABI.

The existing blk_flush_queue structure has "holes" (padding) of 4 bytes
plus 29 bits.  This is not enough space to contain orig_rq, which is 8
bytes long.

Currently, this data structure is only used by the block-device code.
It is unlikely that a third-party module (e.g., a device driver) would
use struct blk_flush_queue, and even if one did, it would most likely
be via a pointer.

This commit moves orig_rq to the end of the structure, so that the offsets
of the existing elements remain the same as before.  It also wraps orig_rq
in "#ifndef __GENKSYMS__" to hide it from the kABI checker.

Signed-off-by: Dan Duval <dan.duval@oracle.com>
block/blk.h