[PATCH 16/17] lustre/quota: improper assert in osc_quota_chkdq()
From: Niu Yawei In osc_quota_chkdq(), we should never try to access oqi found from hash, since it could have been freed by osc_quota_setdq(). Signed-off-by: Niu Yawei Reviewed-on: http://review.whamcloud.com/8460 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4336 Reviewed-by: Johann Lombardi Reviewed-by: Fan Yong Signed-off-by: Oleg Drokin --- drivers/staging/lustre/lustre/osc/osc_quota.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/lustre/lustre/osc/osc_quota.c b/drivers/staging/lustre/lustre/osc/osc_quota.c index 6045a78..f395ae4 100644 --- a/drivers/staging/lustre/lustre/osc/osc_quota.c +++ b/drivers/staging/lustre/lustre/osc/osc_quota.c @@ -51,11 +51,8 @@ int osc_quota_chkdq(struct client_obd *cli, const unsigned int qid[]) oqi = cfs_hash_lookup(cli->cl_quota_hash[type], [type]); if (oqi) { - obd_uid id = oqi->oqi_id; - - LASSERTF(id == qid[type], -"The ids don't match %u != %u\n", -id, qid[type]); + /* do not try to access oqi here, it could have been +* freed by osc_quota_setdq() */ /* the slot is busy, the user is about to run out of * quota space on this OST */ -- 1.8.5.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 16/17] lustre/quota: improper assert in osc_quota_chkdq()
From: Niu Yawei yawei@intel.com In osc_quota_chkdq(), we should never try to access oqi found from hash, since it could have been freed by osc_quota_setdq(). Signed-off-by: Niu Yawei yawei@intel.com Reviewed-on: http://review.whamcloud.com/8460 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4336 Reviewed-by: Johann Lombardi johann.lomba...@intel.com Reviewed-by: Fan Yong fan.y...@intel.com Signed-off-by: Oleg Drokin oleg.dro...@intel.com --- drivers/staging/lustre/lustre/osc/osc_quota.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/lustre/lustre/osc/osc_quota.c b/drivers/staging/lustre/lustre/osc/osc_quota.c index 6045a78..f395ae4 100644 --- a/drivers/staging/lustre/lustre/osc/osc_quota.c +++ b/drivers/staging/lustre/lustre/osc/osc_quota.c @@ -51,11 +51,8 @@ int osc_quota_chkdq(struct client_obd *cli, const unsigned int qid[]) oqi = cfs_hash_lookup(cli-cl_quota_hash[type], qid[type]); if (oqi) { - obd_uid id = oqi-oqi_id; - - LASSERTF(id == qid[type], -The ids don't match %u != %u\n, -id, qid[type]); + /* do not try to access oqi here, it could have been +* freed by osc_quota_setdq() */ /* the slot is busy, the user is about to run out of * quota space on this OST */ -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/