CDEBUG(D_INFO, "%s: opening log %s\n", obd->obd_name, name);
}
+ if (body->lgd_ctxt_idx >= LLOG_MAX_CTXTS) {
+ CDEBUG(D_WARNING, "%s: bad ctxt ID: idx=%d name=%s\n",
+ obd->obd_name, body->lgd_ctxt_idx, name);
+ RETURN(-EPROTO);
+ }
+
ctxt = llog_get_context(obd, body->lgd_ctxt_idx);
if (ctxt == NULL) {
CDEBUG(D_WARNING, "%s: no ctxt. group=%p idx=%d name=%s\n",
CERROR("%s: wrong llog flags %x\n",
req->rq_export->exp_obd->obd_name, body->lgd_llh_flags);
+ if (body->lgd_ctxt_idx >= LLOG_MAX_CTXTS) {
+ CDEBUG(D_WARNING, "%s: bad ctxt ID: idx=%d\n",
+ req->rq_export->exp_obd->obd_name, body->lgd_ctxt_idx);
+ RETURN(-EPROTO);
+ }
+
ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
if (ctxt == NULL)
RETURN(-ENODEV);
if (rc)
RETURN(err_serious(-ENOMEM));
+ if (body->lgd_ctxt_idx >= LLOG_MAX_CTXTS) {
+ CDEBUG(D_WARNING, "%s: bad ctxt ID: idx=%d\n",
+ req->rq_export->exp_obd->obd_name, body->lgd_ctxt_idx);
+ RETURN(-EPROTO);
+ }
+
ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
if (ctxt == NULL)
RETURN(-ENODEV);
if (rc)
RETURN(err_serious(-ENOMEM));
+ if (body->lgd_ctxt_idx >= LLOG_MAX_CTXTS) {
+ CDEBUG(D_WARNING, "%s: bad ctxt ID: idx=%d\n",
+ req->rq_export->exp_obd->obd_name, body->lgd_ctxt_idx);
+ RETURN(-EPROTO);
+ }
+
ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
if (ctxt == NULL)
RETURN(-ENODEV);
if (rc)
RETURN(err_serious(-ENOMEM));
+ if (body->lgd_ctxt_idx >= LLOG_MAX_CTXTS) {
+ CDEBUG(D_WARNING, "%s: bad ctxt ID: idx=%d\n",
+ req->rq_export->exp_obd->obd_name, body->lgd_ctxt_idx);
+ RETURN(-EPROTO);
+ }
+
ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
if (ctxt == NULL)
RETURN(-ENODEV);