linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Moore <paul@paul-moore.com>
To: linux-security-module@vger.kernel.org
Subject: [PATCH 11/22] lsm: move the SCTP hook comments to security/security.c
Date: Thu, 16 Feb 2023 22:26:14 -0500	[thread overview]
Message-ID: <20230217032625.678457-12-paul@paul-moore.com> (raw)
In-Reply-To: <20230217032625.678457-1-paul@paul-moore.com>

This patch relocates the LSM hook function comments to the function
definitions, in keeping with the current kernel conventions.  This
should make the hook descriptions more easily discoverable and easier
to maintain.

While formatting changes have been done to better fit the kernel-doc
style, content changes have been kept to a minimum and limited to
text which was obviously incorrect and/or outdated.  It is expected
the future patches will improve the quality of the function header
comments.

Signed-off-by: Paul Moore <paul@paul-moore.com>
---
 include/linux/lsm_hooks.h | 33 ------------------------------
 security/security.c       | 43 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 33 deletions(-)

diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 531d141083ed..bb460e0b1ff2 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -32,39 +32,6 @@
 /**
  * union security_list_options - Linux Security Module hook function list
  *
- * Security hooks for SCTP
- *
- * @sctp_assoc_request:
- *	Passes the @asoc and @chunk->skb of the association INIT packet to
- *	the security module.
- *	@asoc pointer to sctp association structure.
- *	@skb pointer to skbuff of association packet.
- *	Return 0 on success, error on failure.
- * @sctp_bind_connect:
- *	Validiate permissions required for each address associated with sock
- *	@sk. Depending on @optname, the addresses will be treated as either
- *	for a connect or bind service. The @addrlen is calculated on each
- *	ipv4 and ipv6 address using sizeof(struct sockaddr_in) or
- *	sizeof(struct sockaddr_in6).
- *	@sk pointer to sock structure.
- *	@optname name of the option to validate.
- *	@address list containing one or more ipv4/ipv6 addresses.
- *	@addrlen total length of address(s).
- *	Return 0 on success, error on failure.
- * @sctp_sk_clone:
- *	Called whenever a new socket is created by accept(2) (i.e. a TCP
- *	style socket) or when a socket is 'peeled off' e.g userspace
- *	calls sctp_peeloff(3).
- *	@asoc pointer to current sctp association structure.
- *	@sk pointer to current sock structure.
- *	@newsk pointer to new sock structure.
- * @sctp_assoc_established:
- *	Passes the @asoc and @chunk->skb of the association COOKIE_ACK packet
- *	to the security module.
- *	@asoc pointer to sctp association structure.
- *	@skb pointer to skbuff of association packet.
- *	Return 0 if permission is granted.
- *
  * Security hooks for Infiniband
  *
  * @ib_pkey_access:
diff --git a/security/security.c b/security/security.c
index 844670d7754f..1ada27c7917f 100644
--- a/security/security.c
+++ b/security/security.c
@@ -4132,12 +4132,35 @@ int security_tun_dev_open(void *security)
 }
 EXPORT_SYMBOL(security_tun_dev_open);
 
+/**
+ * security_sctp_assoc_request() - Update the LSM on a SCTP association req
+ * @asoc: SCTP association
+ * @skb: packet requesting the association
+ *
+ * Passes the @asoc and @chunk->skb of the association INIT packet to the LSM.
+ *
+ * Return: Returns 0 on success, error on failure.
+ */
 int security_sctp_assoc_request(struct sctp_association *asoc, struct sk_buff *skb)
 {
 	return call_int_hook(sctp_assoc_request, 0, asoc, skb);
 }
 EXPORT_SYMBOL(security_sctp_assoc_request);
 
+/**
+ * security_sctp_bind_connect() - Validate a list of addrs for a SCTP option
+ * @sk: socket
+ * @optname: SCTP option to validate
+ * @address: list of IP addresses to validate
+ * @addrlen: length of the address list
+ *
+ * Validiate permissions required for each address associated with sock	@sk.
+ * Depending on @optname, the addresses will be treated as either a connect or
+ * bind service. The @addrlen is calculated on each IPv4 and IPv6 address using
+ * sizeof(struct sockaddr_in) or sizeof(struct sockaddr_in6).
+ *
+ * Return: Returns 0 on success, error on failure.
+ */
 int security_sctp_bind_connect(struct sock *sk, int optname,
 			       struct sockaddr *address, int addrlen)
 {
@@ -4146,6 +4169,16 @@ int security_sctp_bind_connect(struct sock *sk, int optname,
 }
 EXPORT_SYMBOL(security_sctp_bind_connect);
 
+/**
+ * security_sctp_sk_clone() - Clone a SCTP sock's LSM state
+ * @asoc: SCTP association
+ * @sk: original sock
+ * @newsk: target sock
+ *
+ * Called whenever a new socket is created by accept(2) (i.e. a TCP style
+ * socket) or when a socket is 'peeled off' e.g userspace calls
+ * sctp_peeloff(3).
+ */
 void security_sctp_sk_clone(struct sctp_association *asoc, struct sock *sk,
 			    struct sock *newsk)
 {
@@ -4153,6 +4186,16 @@ void security_sctp_sk_clone(struct sctp_association *asoc, struct sock *sk,
 }
 EXPORT_SYMBOL(security_sctp_sk_clone);
 
+/**
+ * security_sctp_assoc_established() - Update LSM state when assoc established
+ * @asoc: SCTP association
+ * @skb: packet establishing the association
+ *
+ * Passes the @asoc and @chunk->skb of the association COOKIE_ACK packet to the
+ * security module.
+ *
+ * Return: Returns 0 if permission is granted.
+ */
 int security_sctp_assoc_established(struct sctp_association *asoc,
 				    struct sk_buff *skb)
 {
-- 
2.39.2


  parent reply	other threads:[~2023-02-17  3:27 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-17  3:26 [PATCH 00/22] Move LSM hook comments into security/security.c Paul Moore
2023-02-17  3:26 ` [PATCH 01/22] lsm: move the program execution hook comments to security/security.c Paul Moore
2023-02-17  3:26 ` [PATCH 02/22] lsm: move the fs_context " Paul Moore
2023-02-17  3:26 ` [PATCH 03/22] lsm: move the filesystem " Paul Moore
2023-02-17  3:26 ` [PATCH 04/22] lsm: move the inode " Paul Moore
2023-02-17  3:26 ` [PATCH 05/22] lsm: move the kernfs " Paul Moore
2023-02-17  3:26 ` [PATCH 06/22] lsm: move the file " Paul Moore
2023-02-17  3:26 ` [PATCH 07/22] lsm: move the task " Paul Moore
2023-02-17  3:26 ` [PATCH 08/22] lsm: move the netlink " Paul Moore
2023-02-17  3:26 ` [PATCH 09/22] lsm: move the AF_UNIX " Paul Moore
2023-02-17  3:26 ` [PATCH 10/22] lsm: move the socket " Paul Moore
2023-02-17  3:26 ` Paul Moore [this message]
2023-02-17  3:26 ` [PATCH 12/22] lsm: move the Infiniband " Paul Moore
2023-02-17  3:26 ` [PATCH 13/22] lsm: move the xfrm " Paul Moore
2023-02-17  3:26 ` [PATCH 14/22] lsm: move the key " Paul Moore
2023-02-17  3:26 ` [PATCH 15/22] lsm: move the sysv " Paul Moore
2023-02-17  3:26 ` [PATCH 16/22] lsm: move the binder " Paul Moore
2023-02-17  3:26 ` [PATCH 17/22] lsm: move the audit " Paul Moore
2023-02-17  3:26 ` [PATCH 18/22] lsm: move the bpf " Paul Moore
2023-02-17  3:26 ` [PATCH 19/22] lsm: move the perf " Paul Moore
2023-02-17  3:26 ` [PATCH 20/22] lsm: move the io_uring " Paul Moore
2023-02-17  3:26 ` [PATCH 21/22] lsm: move the remaining LSM " Paul Moore
2023-02-17  3:26 ` [PATCH 22/22] lsm: styling fixes " Paul Moore
2023-02-17 14:07 ` [PATCH 00/22] Move LSM hook comments into security/security.c Paul Moore
2023-02-17 17:22 ` Casey Schaufler
2023-02-17 19:04   ` Paul Moore
2023-03-06 18:49 ` Paul Moore
2023-03-07  8:08   ` Roberto Sassu
2023-03-07 16:33     ` Paul Moore
2023-03-07 16:38       ` Roberto Sassu
2023-03-08 17:09         ` Paul Moore
2023-03-08 17:14           ` Roberto Sassu
2023-03-08 17:20             ` Paul Moore

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230217032625.678457-12-paul@paul-moore.com \
    --to=paul@paul-moore.com \
    --cc=linux-security-module@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).