PCI: hv: Annotate struct hv_dr_state with __counted_by
Subsystems (4)
PATCH 1/1 PCI: hv: Annotate struct hv_dr_state with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by attribute. Flexible array members annotated with __counted_by can have their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family functions).
As found with Coccinelle[1], add __counted_by for struct hv_dr_state.
[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
--- drivers/pci/controller/pci-hyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/pci/controller/pci-hyperv.c +1 -1
@@ -545,7 +545,7 @@ struct hv_pcidev_description {struct hv_dr_state {struct list_head list_entry;u32 device_count; -struct hv_pcidev_description func[]; + struct hv_pcidev_description func[] __counted_by(device_count); };struct hv_pci_dev {
Signature · 1 line
2.34.1
Quoted 10 lines · Kees Cook
Prepare for the coming implementation by GCC and Clang of the
__counted_byattribute. Flexible array members annotated with__counted_bycan have their accesses bounds-checked at run-time checking viaCONFIG_UBSAN_BOUNDS(for array indexing) andCONFIG_FORTIFY_SOURCE(for strcpy/memcpy-family functions).As found with Coccinelle[1], add
__counted_byfor structhv_dr_state.[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
Quoted 11 lines
Cc "K. Y. Srinivasan" <[email protected]>Cc Haiyang Zhang <[email protected]>Cc Wei Liu <[email protected]>Cc Dexuan Cui <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc "Krzysztof Wilczyński" <[email protected]>Cc Rob Herring <[email protected]>Cc Bjorn Helgaas <[email protected]>Signed-off-by Kees Cook <[email protected]>
Quoted 10 lines · Kees Cook
Prepare for the coming implementation by GCC and Clang of the
__counted_byattribute. Flexible array members annotated with__counted_bycan have their accesses bounds-checked at run-time checking viaCONFIG_UBSAN_BOUNDS(for array indexing) andCONFIG_FORTIFY_SOURCE(for strcpy/memcpy-family functions).As found with Coccinelle[1], add
__counted_byfor structhv_dr_state.[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
Quoted 11 lines
Cc "K. Y. Srinivasan" <[email protected]>Cc Haiyang Zhang <[email protected]>Cc Wei Liu <[email protected]>Cc Dexuan Cui <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc "Krzysztof Wilczyński" <[email protected]>Cc Rob Herring <[email protected]>Cc Bjorn Helgaas <[email protected]>Signed-off-by Kees Cook <[email protected]>
Thanks
--
Gustavo
Quoted 21 lines
--- drivers/pci/controller/pci-hyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/pci/controller/pci-hyperv.c +1
-1@@ -545,7 +545,7 @@ struct hv_pcidev_description {struct hv_dr_state {struct list_head list_entry;u32 device_count; -struct hv_pcidev_description func[]; + struct hv_pcidev_description func[] __counted_by(device_count); };struct hv_pci_dev {Signature · 1 line
2.34.1
Krzysztof Wilczyński
AppliedHello,
Quoted 9 lines
Prepare for the coming implementation by GCC and Clang of the
__counted_byattribute. Flexible array members annotated with__counted_bycan have their accesses bounds-checked at run-time checking viaCONFIG_UBSAN_BOUNDS(for array indexing) andCONFIG_FORTIFY_SOURCE(for strcpy/memcpy-family functions).As found with Coccinelle[1], add
__counted_byfor structhv_dr_state.[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
Applied to controller/hyperv, thank you!
[1/1] PCI: hv: Annotate struct hv_dr_state with __counted_by
https://git.kernel.org/pci/pci/c/45538f68b052 Krzysztof