.. | .. |
---|
57 | 57 | if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && INITRD_START && INITRD_SIZE && |
---|
58 | 58 | intersects(INITRD_START, INITRD_SIZE, safe_addr, size)) |
---|
59 | 59 | safe_addr = INITRD_START + INITRD_SIZE; |
---|
| 60 | + if (intersects(safe_addr, size, (unsigned long)comps, comps->len)) { |
---|
| 61 | + safe_addr = (unsigned long)comps + comps->len; |
---|
| 62 | + goto repeat; |
---|
| 63 | + } |
---|
60 | 64 | for_each_rb_entry(comp, comps) |
---|
61 | 65 | if (intersects(safe_addr, size, comp->addr, comp->len)) { |
---|
62 | 66 | safe_addr = comp->addr + comp->len; |
---|
63 | 67 | goto repeat; |
---|
64 | 68 | } |
---|
| 69 | + if (intersects(safe_addr, size, (unsigned long)certs, certs->len)) { |
---|
| 70 | + safe_addr = (unsigned long)certs + certs->len; |
---|
| 71 | + goto repeat; |
---|
| 72 | + } |
---|
65 | 73 | for_each_rb_entry(cert, certs) |
---|
66 | 74 | if (intersects(safe_addr, size, cert->addr, cert->len)) { |
---|
67 | 75 | safe_addr = cert->addr + cert->len; |
---|