mirror-linux/include/linux/ceph
Kees Cook 1cb6422eca ceph: Annotate struct ceph_monmap 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 ceph_monmap.
Additionally, since the element count member must be set before accessing
the annotated flexible array member, move its initialization earlier.

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

Cc: Ilya Dryomov <idryomov@gmail.com>
Cc: Xiubo Li <xiubli@redhat.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: ceph-devel@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-09-18 10:39:29 +01:00
..
auth.h libceph: set global_id as soon as we get an auth ticket 2021-06-24 21:03:17 +02:00
buffer.h
ceph_debug.h
ceph_features.h libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
ceph_frag.h
ceph_fs.h ceph: make num_fwd and num_retry to __u32 2023-08-31 14:56:27 +02:00
ceph_hash.h
cls_lock_client.h
debugfs.h
decode.h libceph, ceph: implement msgr2.1 protocol (crc and secure modes) 2020-12-14 23:21:50 +01:00
libceph.h ceph: move mount state enum to super.h 2023-02-02 13:40:23 +01:00
mdsmap.h ceph: prevent a client from exceeding the MDS maximum xattr size 2022-08-03 00:54:12 +02:00
messenger.h libceph: add new iov_iter-based ceph_msg_data_type and ceph_osd_data_type 2023-08-22 09:01:48 +02:00
mon_client.h ceph: Annotate struct ceph_monmap with __counted_by 2023-09-18 10:39:29 +01:00
msgpool.h
msgr.h libceph: add __maybe_unused to DEFINE_MSGR2_FEATURE 2020-12-28 20:34:33 +01:00
osd_client.h libceph: add CEPH_OSD_OP_ASSERT_VER support 2023-08-24 11:24:35 +02:00
osdmap.h libceph, ceph: get and handle cluster maps with addrvecs 2020-12-14 23:21:50 +01:00
pagelist.h
rados.h libceph: add CEPH_OSD_OP_ASSERT_VER support 2023-08-24 11:24:35 +02:00
string_table.h
striper.h
types.h