Lines Matching refs:req_info

34  * @req_info:    structure to put results into
41 * the structure pointed to by @req_info. Extack from @info is used for error
42 * reporting. If req_info->dev is not null on return, reference to it has
43 * been taken. If error is returned, *req_info is null initialized and no
48 int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
110 req_info->dev = dev;
111 req_info->flags = flags;
215 * @req_info: parsed request header of processed request
226 struct ethnl_req_info *req_info;
257 * @req_info: pointer to structure to put data into
269 static int ethnl_default_parse(struct ethnl_req_info *req_info,
276 ret = ethnl_parse_header_dev_get(req_info, tb[request_ops->hdr_attr],
282 ret = request_ops->parse_request(req_info, tb, extack);
312 struct ethnl_req_info *req_info = NULL;
323 req_info = kzalloc(ops->req_info_size, GFP_KERNEL);
324 if (!req_info)
328 kfree(req_info);
332 ret = ethnl_default_parse(req_info, info->attrs, genl_info_net(info),
336 ethnl_init_reply_data(reply_data, ops, req_info->dev);
339 ret = ops->prepare_data(req_info, reply_data, info);
343 ret = ops->reply_size(req_info, reply_data);
348 rskb = ethnl_reply_init(reply_len, req_info->dev, ops->reply_cmd,
352 ret = ops->fill_reply(rskb, req_info, reply_data);
359 if (req_info->dev)
360 dev_put(req_info->dev);
362 kfree(req_info);
372 if (req_info->dev)
373 dev_put(req_info->dev);
375 kfree(req_info);
394 ret = ctx->ops->prepare_data(ctx->req_info, ctx->reply_data, NULL);
401 ret = ctx->ops->fill_reply(skb, ctx->req_info, ctx->reply_data);
483 struct ethnl_req_info *req_info;
493 req_info = kzalloc(ops->req_info_size, GFP_KERNEL);
494 if (!req_info)
502 ret = ethnl_default_parse(req_info, info->attrs, sock_net(cb->skb->sk),
504 if (req_info->dev) {
509 dev_put(req_info->dev);
510 req_info->dev = NULL;
516 ctx->req_info = req_info;
526 kfree(req_info);
537 kfree(ctx->req_info);
563 struct ethnl_req_info *req_info;
574 req_info = kzalloc(ops->req_info_size, GFP_KERNEL);
575 if (!req_info)
579 kfree(req_info);
583 req_info->dev = dev;
584 req_info->flags |= ETHTOOL_FLAG_COMPACT_BITSETS;
587 ret = ops->prepare_data(req_info, reply_data, NULL);
590 ret = ops->reply_size(req_info, reply_data);
604 ret = ops->fill_reply(skb, req_info, reply_data);
612 kfree(req_info);
626 kfree(req_info);