Currently, BLK_INTEGRITY_NOGENERATE and BLK_INTEGRITY_NOVERIFY are not
explicitly set during integrity initialization. This can lead to incorrect
reporting of read_verify and write_generate sysfs values, particularly when
a device does not support integrity. This patch ensures that these flags
are correctly initialized by default.

Reported-by: M Nikhil <nikh...@linux.ibm.com>
Link: 
https://lore.kernel.org/linux-block/f6130475-3ccd-45d2-abde-3ccceada0...@linux.ibm.com/
Fixes: 9f4aa46f2a74 ("block: invert the BLK_INTEGRITY_{GENERATE,VERIFY} flags")
Signed-off-by: Anuj Gupta <anuj2...@samsung.com>
---
 block/blk-settings.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/block/blk-settings.c b/block/blk-settings.c
index 8bd0d0f1479c..bee4007b2eeb 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -114,6 +114,7 @@ static int blk_validate_integrity_limits(struct 
queue_limits *lim)
                        pr_warn("invalid PI settings.\n");
                        return -EINVAL;
                }
+               bi->flags |= BLK_INTEGRITY_NOGENERATE | BLK_INTEGRITY_NOVERIFY;
                return 0;
        }
 
-- 
2.25.1


Reply via email to