Lines Matching refs:newc
289 ocontext_t *newc = 0, *c, *head;
302 newc = (ocontext_t *) malloc(sizeof(ocontext_t));
303 if (!newc) {
307 memset(newc, 0, sizeof(ocontext_t));
308 newc->u.name = id;
309 context_init(&newc->context[0]);
313 if (!strcmp(newc->u.name, c->u.name)) {
320 newc->sid[0] = head->sid[0] + 1;
322 newc->sid[0] = 1;
324 newc->next = head;
325 policydbp->ocontexts[OCON_ISID] = newc;
332 if (newc)
333 free(newc);
4611 ocontext_t *newc, *c, *head;
4624 newc = (ocontext_t *) malloc(sizeof(ocontext_t));
4625 if (!newc) {
4629 memset(newc, 0, sizeof(ocontext_t));
4631 newc->u.name = (char *)malloc(6);
4632 if (!newc->u.name) {
4634 free(newc);
4637 sprintf(newc->u.name, "%02x:%02x", major, minor);
4639 if (parse_security_context(&newc->context[0])) {
4640 free(newc->u.name);
4641 free(newc);
4644 if (parse_security_context(&newc->context[1])) {
4645 context_destroy(&newc->context[0]);
4646 free(newc->u.name);
4647 free(newc);
4653 if (!strcmp(newc->u.name, c->u.name)) {
4655 newc->u.name);
4656 context_destroy(&newc->context[0]);
4657 context_destroy(&newc->context[1]);
4658 free(newc->u.name);
4659 free(newc);
4664 newc->next = head;
4665 policydbp->ocontexts[OCON_FS] = newc;
4672 ocontext_t *newc, *c, *l, *head;
4687 newc = malloc(sizeof(ocontext_t));
4688 if (!newc) {
4692 memset(newc, 0, sizeof(ocontext_t));
4694 newc->u.pirq = pirq;
4696 if (parse_security_context(&newc->context[0])) {
4697 free(newc);
4713 l->next = newc;
4715 policydbp->ocontexts[OCON_XEN_PIRQ] = newc;
4720 free(newc);
4726 ocontext_t *newc, *c, *l, *head;
4741 newc = malloc(sizeof(ocontext_t));
4742 if (!newc) {
4746 memset(newc, 0, sizeof(ocontext_t));
4748 newc->u.iomem.low_iomem = low;
4749 newc->u.iomem.high_iomem = high;
4753 free(newc);
4757 if (parse_security_context(&newc->context[0])) {
4758 free(newc);
4777 l->next = newc;
4779 policydbp->ocontexts[OCON_XEN_IOMEM] = newc;
4784 free(newc);
4790 ocontext_t *newc, *c, *l, *head;
4805 newc = malloc(sizeof(ocontext_t));
4806 if (!newc) {
4810 memset(newc, 0, sizeof(ocontext_t));
4812 newc->u.ioport.low_ioport = low;
4813 newc->u.ioport.high_ioport = high;
4817 free(newc);
4821 if (parse_security_context(&newc->context[0])) {
4822 free(newc);
4841 l->next = newc;
4843 policydbp->ocontexts[OCON_XEN_IOPORT] = newc;
4848 free(newc);
4854 ocontext_t *newc, *c, *l, *head;
4869 newc = malloc(sizeof(ocontext_t));
4870 if (!newc) {
4874 memset(newc, 0, sizeof(ocontext_t));
4876 newc->u.device = device;
4878 if (parse_security_context(&newc->context[0])) {
4879 free(newc);
4896 l->next = newc;
4898 policydbp->ocontexts[OCON_XEN_PCIDEVICE] = newc;
4903 free(newc);
4909 ocontext_t *newc, *c, *l, *head;
4922 newc = malloc(sizeof(ocontext_t));
4923 if (!newc) {
4927 memset(newc, 0, sizeof(ocontext_t));
4929 newc->u.name = (char *)queue_remove(id_queue);
4930 if (!newc->u.name) {
4931 free(newc);
4935 if (parse_security_context(&newc->context[0])) {
4936 free(newc->u.name);
4937 free(newc);
4943 if (strcmp(newc->u.name, c->u.name) == 0) {
4944 yyerror2("duplicate devicetree entry for '%s'", newc->u.name);
4950 l->next = newc;
4952 policydbp->ocontexts[OCON_XEN_DEVICETREE] = newc;
4957 free(newc->u.name);
4958 free(newc);
4964 ocontext_t *newc, *c, *l, *head;
4980 newc = malloc(sizeof(ocontext_t));
4981 if (!newc) {
4985 memset(newc, 0, sizeof(ocontext_t));
4989 free(newc);
5005 newc->u.port.protocol = protocol;
5006 newc->u.port.low_port = low;
5007 newc->u.port.high_port = high;
5014 if (parse_security_context(&newc->context[0])) {
5041 l->next = newc;
5043 policydbp->ocontexts[OCON_PORT] = newc;
5050 free(newc);
5056 ocontext_t *newc, *c, *l, *head;
5073 newc = malloc(sizeof(*newc));
5074 if (!newc) {
5078 memset(newc, 0, sizeof(*newc));
5108 memcpy(&newc->u.ibpkey.subnet_prefix, &subnet_prefix.s6_addr[0],
5109 sizeof(newc->u.ibpkey.subnet_prefix));
5111 newc->u.ibpkey.low_pkey = low;
5112 newc->u.ibpkey.high_pkey = high;
5120 rc = parse_security_context(&newc->context[0]);
5133 c->u.ibpkey.subnet_prefix == newc->u.ibpkey.subnet_prefix) {
5140 c->u.ibpkey.subnet_prefix == newc->u.ibpkey.subnet_prefix) {
5149 l->next = newc;
5151 policydbp->ocontexts[OCON_IBPKEY] = newc;
5156 free(newc);
5162 ocontext_t *newc, *c, *l, *head;
5183 newc = malloc(sizeof(*newc));
5184 if (!newc) {
5188 memset(newc, 0, sizeof(*newc));
5190 newc->u.ibendport.dev_name = queue_remove(id_queue);
5191 if (!newc->u.ibendport.dev_name) {
5197 if (strlen(newc->u.ibendport.dev_name) > IB_DEVICE_NAME_MAX - 1) {
5203 newc->u.ibendport.port = port;
5205 if (parse_security_context(&newc->context[0])) {
5206 free(newc);
5219 newc->u.ibendport.dev_name)) {
5221 newc->u.ibendport.dev_name, port);
5228 l->next = newc;
5230 policydbp->ocontexts[OCON_IBENDPORT] = newc;
5235 free(newc->u.ibendport.dev_name);
5236 free(newc);
5242 ocontext_t *newc, *c, *head;
5256 newc = (ocontext_t *) malloc(sizeof(ocontext_t));
5257 if (!newc) {
5261 memset(newc, 0, sizeof(ocontext_t));
5263 newc->u.name = (char *)queue_remove(id_queue);
5264 if (!newc->u.name) {
5265 free(newc);
5268 if (parse_security_context(&newc->context[0])) {
5269 free(newc->u.name);
5270 free(newc);
5273 if (parse_security_context(&newc->context[1])) {
5274 context_destroy(&newc->context[0]);
5275 free(newc->u.name);
5276 free(newc);
5282 if (!strcmp(newc->u.name, c->u.name)) {
5284 newc->u.name);
5285 context_destroy(&newc->context[0]);
5286 context_destroy(&newc->context[1]);
5287 free(newc->u.name);
5288 free(newc);
5293 newc->next = head;
5294 policydbp->ocontexts[OCON_NETIF] = newc;
5303 ocontext_t *newc, *c, *l, *head;
5357 newc = malloc(sizeof(ocontext_t));
5358 if (!newc) {
5364 memset(newc, 0, sizeof(ocontext_t));
5365 newc->u.node.addr = addr.s_addr;
5366 newc->u.node.mask = mask.s_addr;
5368 if (parse_security_context(&newc->context[0])) {
5369 free(newc);
5377 if (newc->u.node.mask > c->u.node.mask)
5381 newc->next = c;
5384 l->next = newc;
5386 policydbp->ocontexts[OCON_NODE] = newc;
5431 ocontext_t *newc, *c, *l, *head;
5485 newc = malloc(sizeof(ocontext_t));
5486 if (!newc) {
5492 memset(newc, 0, sizeof(ocontext_t));
5493 memcpy(&newc->u.node6.addr[0], &addr.s6_addr[0], 16);
5494 memcpy(&newc->u.node6.mask[0], &mask.s6_addr[0], 16);
5496 if (parse_security_context(&newc->context[0])) {
5497 free(newc);
5506 if (memcmp(&newc->u.node6.mask, &c->u.node6.mask, 16) > 0)
5510 newc->next = c;
5513 l->next = newc;
5515 policydbp->ocontexts[OCON_NODE6] = newc;
5524 ocontext_t *newc, *c, *head;
5537 newc = (ocontext_t *) malloc(sizeof(ocontext_t));
5538 if (!newc) {
5542 memset(newc, 0, sizeof(ocontext_t));
5544 newc->u.name = (char *)queue_remove(id_queue);
5545 if (!newc->u.name) {
5546 free(newc);
5549 newc->v.behavior = behavior;
5550 if (parse_security_context(&newc->context[0])) {
5551 free(newc->u.name);
5552 free(newc);
5559 if (!strcmp(newc->u.name, c->u.name)) {
5561 newc->u.name);
5562 context_destroy(&newc->context[0]);
5563 free(newc->u.name);
5564 free(newc);
5569 newc->next = head;
5570 policydbp->ocontexts[OCON_FSUSE] = newc;
5577 ocontext_t *newc, *c, *head, *p;
5622 newc = (ocontext_t *) malloc(sizeof(ocontext_t));
5623 if (!newc) {
5627 memset(newc, 0, sizeof(ocontext_t));
5629 newc->u.name = (char *)queue_remove(id_queue);
5630 if (!newc->u.name)
5674 newc->v.sclass = cladatum->s.value;
5676 if (parse_security_context(&newc->context[0]))
5682 if (!strcmp(newc->u.name, c->u.name) &&
5683 (!newc->v.sclass || !c->v.sclass
5684 || newc->v.sclass == c->v.sclass)) {
5686 genfs->fstype, newc->u.name);
5689 len = strlen(newc->u.name);
5695 newc->next = c;
5697 p->next = newc;
5699 genfs->head = newc;
5705 context_destroy(&newc->context[0]);
5708 if (newc->u.name)
5709 free(newc->u.name);
5710 free(newc);