[linux-next:master 5281/5508] security/landlock/task.c:126: warning: Function parameter or struct member 'scope' not described in 'domain_is_scoped'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bb1b0acdcd66e0d8eedee3570d249e076b89ab32
commit: 07227e4d8f520114358aa841cd50a11795d92a36 [5281/5508] Landlock: Add abstract unix socket connect restriction
config: s390-defconfig (https://download.01.org/0day-ci/archive/20240820/202408201505.lEgLaz8N-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240820/202408201505.lEgLaz8N-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408201505.lEgLaz8N-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> security/landlock/task.c:126: warning: Function parameter or struct member 'scope' not described in 'domain_is_scoped'


vim +126 security/landlock/task.c

   112	
   113	/**
   114	 * domain_is_scoped - Checks if the client domain is scoped in the same
   115	 *			domain as the server.
   116	 *
   117	 * @client: IPC sender domain.
   118	 * @server: IPC receiver domain.
   119	 *
   120	 * Return true if the @client domain is scoped to access the @server,
   121	 * unless the @server is also scoped in the same domain as @client.
   122	 */
   123	static bool domain_is_scoped(const struct landlock_ruleset *const client,
   124				     const struct landlock_ruleset *const server,
   125				     access_mask_t scope)
 > 126	{
   127		int client_layer, server_layer;
   128		struct landlock_hierarchy *client_walker, *server_walker;
   129	
   130		/* Quick return if client has no domain */
   131		if (WARN_ON_ONCE(!client))
   132			return false;
   133	
   134		client_layer = client->num_layers - 1;
   135		client_walker = client->hierarchy;
   136		/*
   137		 * client_layer must be a signed integer with greater capacity
   138		 * than client->num_layers to ensure the following loop stops.
   139		 */
   140		BUILD_BUG_ON(sizeof(client_layer) > sizeof(client->num_layers));
   141	
   142		server_layer = server ? (server->num_layers - 1) : -1;
   143		server_walker = server ? server->hierarchy : NULL;
   144	
   145		/*
   146		 * Walks client's parent domains down to the same hierarchy level
   147		 * as the server's domain, and checks that none of these client's
   148		 * parent domains are scoped.
   149		 */
   150		for (; client_layer > server_layer; client_layer--) {
   151			if (landlock_get_scope_mask(client, client_layer) & scope)
   152				return true;
   153			client_walker = client_walker->parent;
   154		}
   155		/*
   156		 * Walks server's parent domains down to the same hierarchy level as
   157		 * the client's domain.
   158		 */
   159		for (; server_layer > client_layer; server_layer--)
   160			server_walker = server_walker->parent;
   161	
   162		for (; client_layer >= 0; client_layer--) {
   163			if (landlock_get_scope_mask(client, client_layer) & scope) {
   164				/*
   165				 * Client and server are at the same level in the
   166				 * hierarchy. If the client is scoped, the request is
   167				 * only allowed if this domain is also a server's
   168				 * ancestor.
   169				 */
   170				return server_walker != client_walker;
   171			}
   172			client_walker = client_walker->parent;
   173			server_walker = server_walker->parent;
   174		}
   175		return false;
   176	}
   177	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux