ALT Linux kernel packages development
 help / color / mirror / Atom feed
* [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables
@ 2025-08-06 13:18 mcpain
  2025-08-06 13:18 ` [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_* mcpain
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: mcpain @ 2025-08-06 13:18 UTC (permalink / raw)
  To: devel-kernel

From: Oleg Solovyov <mcpain@altlinux.org>

Modern desktop environments tends to become incompatible with kiosk.
KDE works so far but systemd unit fails to launch [1]
GNOME breaks fatally [2]

This happens because /lib/systemd/systemd uses secure_getenv() to get
environment variables and receives NULL since secureexec is enforced by
Kiosk LSM.

Since I am uncertain what else is to be replaced with getenv() in
systemd and how much things it will break in future I chose to allow
running those executables without setting up secureexec.

By default, secureexec is set unless explicitly told not to do so.

[1] https://bugzilla.altlinux.org/55130
[2] https://bugzilla.altlinux.org/55518

Oleg Solovyov (2):
  kiosk: split kiosk_nl_send_*
  kiosk: add secureexec parameter

 security/kiosk/kiosk_lsm.c | 59 ++++++++++++++++++++++++++++++++++----
 1 file changed, 54 insertions(+), 5 deletions(-)

-- 
2.50.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_*
  2025-08-06 13:18 [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables mcpain
@ 2025-08-06 13:18 ` mcpain
  2025-08-06 13:57   ` Vitaly Chikunov
  2025-08-06 13:18 ` [d-kernel] [PATCH 2/2] kiosk: add secureexec parameter mcpain
  2025-08-06 14:06 ` [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables Vitaly Chikunov
  2 siblings, 1 reply; 9+ messages in thread
From: mcpain @ 2025-08-06 13:18 UTC (permalink / raw)
  To: devel-kernel

From: Oleg Solovyov <mcpain@altlinux.org>

kiosk_nl_send_msg is used within two different contexts:
- send current kiosk mode
- send kiosk list

So, we have to use different methods for different contexts.
---
 security/kiosk/kiosk_lsm.c | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)

diff --git a/security/kiosk/kiosk_lsm.c b/security/kiosk/kiosk_lsm.c
index 18f810a1ce0f..20635af4936f 100644
--- a/security/kiosk/kiosk_lsm.c
+++ b/security/kiosk/kiosk_lsm.c
@@ -148,7 +148,39 @@ static int kiosk_remove_item(struct list_head *list, char *filename,
 	return 0;
 }
 
-static int kiosk_nl_send_msg(struct sk_buff *skb, struct genl_info *info,
+static int kiosk_nl_send_mode(struct sk_buff *skb, struct genl_info *info,
+			     char *msg)
+{
+	int msg_size;
+	int res;
+	struct nlmsghdr *nlh;
+	struct sk_buff *skb_out;
+
+	msg_size = strlen(msg) + 1;
+	/* we put string so add space for NUL-terminator */
+
+	skb_out = genlmsg_new(msg_size, GFP_KERNEL);
+	if (!skb_out)
+		return -ENOMEM;
+
+	nlh = genlmsg_put_reply(skb_out, info, &genl_kiosk_family, 0,
+				KIOSK_REPLY);
+	if (!nlh) {
+		nlmsg_free(skb_out);
+		return -ENOMEM;
+	}
+
+	res = nla_put_string(skb_out, KIOSK_DATA, msg);
+	if (res) {
+		nlmsg_free(skb_out);
+		return res;
+	}
+
+	genlmsg_end(skb_out, nlh);
+	return genlmsg_reply(skb_out, info);
+}
+
+static int kiosk_nl_send_item(struct sk_buff *skb, struct genl_info *info,
 			     char *msg)
 {
 	int msg_size;
@@ -206,7 +238,7 @@ static int kiosk_list_items(struct list_head *list, struct rw_semaphore *sem,
 		path = "";
 
 	up_read(sem);
-	return kiosk_nl_send_msg(skb, info, path);
+	return kiosk_nl_send_item(skb, info, path);
 }
 
 static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
@@ -230,7 +262,7 @@ static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
 		if (!strlen(pathbuf)) {
 			/* we want to retrieve current mode */
 			snprintf(buf, sizeof(buf), "%d", kiosk_mode);
-			return kiosk_nl_send_msg(skb, info, buf);
+			return kiosk_nl_send_mode(skb, info, buf);
 		}
 
 		error = kstrtouint(pathbuf, 0, &new_mode);
-- 
2.50.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [d-kernel] [PATCH 2/2] kiosk: add secureexec parameter
  2025-08-06 13:18 [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables mcpain
  2025-08-06 13:18 ` [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_* mcpain
@ 2025-08-06 13:18 ` mcpain
  2025-08-06 14:06 ` [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables Vitaly Chikunov
  2 siblings, 0 replies; 9+ messages in thread
From: mcpain @ 2025-08-06 13:18 UTC (permalink / raw)
  To: devel-kernel

From: Oleg Solovyov <mcpain@altlinux.org>

if set to 0, secureexec will not be set, defaults to 1
---
 security/kiosk/kiosk_lsm.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/security/kiosk/kiosk_lsm.c b/security/kiosk/kiosk_lsm.c
index 20635af4936f..de92321dcd13 100644
--- a/security/kiosk/kiosk_lsm.c
+++ b/security/kiosk/kiosk_lsm.c
@@ -24,6 +24,7 @@
 #define MAX_PATH 1024
 
 struct kiosk_list_struct {
+	int secureexec;
 	struct path path;
 	struct list_head list;
 };
@@ -62,6 +63,7 @@ enum kiosk_attrs {
 	KIOSK_NOATTR = 0,
 	KIOSK_ACTION,
 	KIOSK_DATA,
+	KIOSK_SECUREEXEC,
 	__KIOSK_MAX_ATTR,
 	KIOSK_MAX_ATTR = __KIOSK_MAX_ATTR - 1,
 };
@@ -74,10 +76,13 @@ static struct nla_policy kiosk_policy[KIOSK_MAX_ATTR + 1] = {
 		.type = NLA_STRING,
 		.len = sizeof(pathbuf) - 1
 	},
+	[KIOSK_SECUREEXEC] = {
+		.type = NLA_S16,
+	},
 };
 
 static int kiosk_add_item(struct list_head *list, char *filename,
-		struct rw_semaphore *sem)
+		int secureexec, struct rw_semaphore *sem)
 {
 	struct kiosk_list_struct *item, *tmp;
 	int mode;
@@ -106,12 +111,16 @@ static int kiosk_add_item(struct list_head *list, char *filename,
 	down_write(sem);
 	list_for_each_entry(tmp, list, list) {
 		if (item->path.dentry == tmp->path.dentry) {
+			if (tmp->secureexec != secureexec) {
+				tmp->secureexec = secureexec;
+			}
 			up_write(sem);
 			path_put(&item->path);
 			kfree(item);
 			return 0;
 		}
 	}
+	item->secureexec = secureexec;
 	list_add_tail(&item->list, list);
 	up_write(sem);
 
@@ -244,12 +253,16 @@ static int kiosk_list_items(struct list_head *list, struct rw_semaphore *sem,
 static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
 {
 	int action;
+	int secureexec;
 
 	if (info->attrs[KIOSK_DATA])
 		strscpy(pathbuf, nla_data(info->attrs[KIOSK_DATA]), sizeof(pathbuf));
 	else
 		pathbuf[0] = '\0';
 
+	secureexec = info->attrs[KIOSK_SECUREEXEC] ?
+		nla_get_s16(info->attrs[KIOSK_SECUREEXEC]) : 1;
+
 	action = info->attrs[KIOSK_ACTION] ?
 		nla_get_s16(info->attrs[KIOSK_ACTION]) : -1;
 
@@ -275,7 +288,7 @@ static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
 		return 0;
 	}
 	case KIOSK_USERLIST_ADD:
-		return kiosk_add_item(&user_list, pathbuf, &user_sem);
+		return kiosk_add_item(&user_list, pathbuf, secureexec, &user_sem);
 	case KIOSK_USERLIST_DEL:
 		return kiosk_remove_item(&user_list, pathbuf,
 					 &user_sem);
@@ -329,6 +342,10 @@ static int kiosk_bprm_check_security(struct linux_binprm *bprm)
 		down_read(&user_sem);
 		list_for_each_entry(node, &user_list, list) {
 			if (bprm->file->f_path.dentry == node->path.dentry) {
+				if (node->secureexec == 0) {
+					bprm->secureexec = 0;
+					pr_notice_ratelimited("Kiosk: %s will not be treated securely\n", bprm->filename);
+				}
 				up_read(&user_sem);
 				return 0;
 			}
-- 
2.50.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_*
  2025-08-06 13:18 ` [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_* mcpain
@ 2025-08-06 13:57   ` Vitaly Chikunov
  2025-08-06 14:26     ` Oleg Solovyov
  0 siblings, 1 reply; 9+ messages in thread
From: Vitaly Chikunov @ 2025-08-06 13:57 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Oleg,

On Wed, Aug 06, 2025 at 04:18:22PM +0300, mcpain@altlinux.org wrote:
> From: Oleg Solovyov <mcpain@altlinux.org>
> 
> kiosk_nl_send_msg is used within two different contexts:
> - send current kiosk mode
> - send kiosk list

Вам конечно виднее, но зачем 2 раза одно и то же в разных функциях?
Не описано с какой целью это делается.

Thanks,

> 
> So, we have to use different methods for different contexts.
> ---
>  security/kiosk/kiosk_lsm.c | 38 +++++++++++++++++++++++++++++++++++---
>  1 file changed, 35 insertions(+), 3 deletions(-)
> 
> diff --git a/security/kiosk/kiosk_lsm.c b/security/kiosk/kiosk_lsm.c
> index 18f810a1ce0f..20635af4936f 100644
> --- a/security/kiosk/kiosk_lsm.c
> +++ b/security/kiosk/kiosk_lsm.c
> @@ -148,7 +148,39 @@ static int kiosk_remove_item(struct list_head *list, char *filename,
>  	return 0;
>  }
>  
> -static int kiosk_nl_send_msg(struct sk_buff *skb, struct genl_info *info,
> +static int kiosk_nl_send_mode(struct sk_buff *skb, struct genl_info *info,
> +			     char *msg)
> +{
> +	int msg_size;
> +	int res;
> +	struct nlmsghdr *nlh;
> +	struct sk_buff *skb_out;
> +
> +	msg_size = strlen(msg) + 1;
> +	/* we put string so add space for NUL-terminator */
> +
> +	skb_out = genlmsg_new(msg_size, GFP_KERNEL);
> +	if (!skb_out)
> +		return -ENOMEM;
> +
> +	nlh = genlmsg_put_reply(skb_out, info, &genl_kiosk_family, 0,
> +				KIOSK_REPLY);
> +	if (!nlh) {
> +		nlmsg_free(skb_out);
> +		return -ENOMEM;
> +	}
> +
> +	res = nla_put_string(skb_out, KIOSK_DATA, msg);
> +	if (res) {
> +		nlmsg_free(skb_out);
> +		return res;
> +	}
> +
> +	genlmsg_end(skb_out, nlh);
> +	return genlmsg_reply(skb_out, info);
> +}
> +
> +static int kiosk_nl_send_item(struct sk_buff *skb, struct genl_info *info,
>  			     char *msg)
>  {
>  	int msg_size;
> @@ -206,7 +238,7 @@ static int kiosk_list_items(struct list_head *list, struct rw_semaphore *sem,
>  		path = "";
>  
>  	up_read(sem);
> -	return kiosk_nl_send_msg(skb, info, path);
> +	return kiosk_nl_send_item(skb, info, path);
>  }
>  
>  static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
> @@ -230,7 +262,7 @@ static int kiosk_genl_doit(struct sk_buff *skb, struct genl_info *info)
>  		if (!strlen(pathbuf)) {
>  			/* we want to retrieve current mode */
>  			snprintf(buf, sizeof(buf), "%d", kiosk_mode);
> -			return kiosk_nl_send_msg(skb, info, buf);
> +			return kiosk_nl_send_mode(skb, info, buf);
>  		}
>  
>  		error = kstrtouint(pathbuf, 0, &new_mode);
> -- 
> 2.50.1
> 
> _______________________________________________
> devel-kernel mailing list
> devel-kernel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-kernel


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables
  2025-08-06 13:18 [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables mcpain
  2025-08-06 13:18 ` [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_* mcpain
  2025-08-06 13:18 ` [d-kernel] [PATCH 2/2] kiosk: add secureexec parameter mcpain
@ 2025-08-06 14:06 ` Vitaly Chikunov
  2025-08-06 14:39   ` [d-kernel] " Oleg Solovyov
  2 siblings, 1 reply; 9+ messages in thread
From: Vitaly Chikunov @ 2025-08-06 14:06 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Oleg,

On Wed, Aug 06, 2025 at 04:18:21PM +0300, mcpain@altlinux.org wrote:
> From: Oleg Solovyov <mcpain@altlinux.org>
> 
> Modern desktop environments tends to become incompatible with kiosk.
> KDE works so far but systemd unit fails to launch [1]
> GNOME breaks fatally [2]
> 
> This happens because /lib/systemd/systemd uses secure_getenv() to get
> environment variables and receives NULL since secureexec is enforced by
> Kiosk LSM.
> 
> Since I am uncertain what else is to be replaced with getenv() in
> systemd and how much things it will break in future I chose to allow
> running those executables without setting up secureexec.

Не написано кто, планируется, что уберет secureexec флаг, это было бы
полезно знать для понимания замысла/контекста.

Thanks,


> 
> By default, secureexec is set unless explicitly told not to do so.
> 
> [1] https://bugzilla.altlinux.org/55130
> [2] https://bugzilla.altlinux.org/55518
> 
> Oleg Solovyov (2):
>   kiosk: split kiosk_nl_send_*
>   kiosk: add secureexec parameter
> 
>  security/kiosk/kiosk_lsm.c | 59 ++++++++++++++++++++++++++++++++++----
>  1 file changed, 54 insertions(+), 5 deletions(-)
> 
> -- 
> 2.50.1
> 
> _______________________________________________
> devel-kernel mailing list
> devel-kernel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-kernel


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_*
  2025-08-06 13:57   ` Vitaly Chikunov
@ 2025-08-06 14:26     ` Oleg Solovyov
  0 siblings, 0 replies; 9+ messages in thread
From: Oleg Solovyov @ 2025-08-06 14:26 UTC (permalink / raw)
  To: devel-kernel

В письме от среда, 6 августа 2025 г. 16:57:46 Москва, стандартное время 
пользователь Vitaly Chikunov написал:
> Oleg,
> 
> On Wed, Aug 06, 2025 at 04:18:22PM +0300, mcpain@altlinux.org wrote:
> > From: Oleg Solovyov <mcpain@altlinux.org>
> > 
> > kiosk_nl_send_msg is used within two different contexts:
> > - send current kiosk mode
> > - send kiosk list
> 
> Вам конечно виднее, но зачем 2 раза одно и то же в разных функциях?
> Не описано с какой целью это делается.

Я сначала подумал, что надо в userspace помимо путей к исполняемым файлам 
передавать ещё и статус secureexec для них, но споткнулся об обработку вывода 
со стороны alterator-kiosk и реализовал по-другому.

Этот патч действительно лишний

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [d-kernel] Re: [PATCH 0/2] Kiosk: turn off secureexec for allowed executables
  2025-08-06 14:06 ` [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables Vitaly Chikunov
@ 2025-08-06 14:39   ` Oleg Solovyov
  2025-08-06 22:40     ` [d-kernel] " Vitaly Chikunov
  0 siblings, 1 reply; 9+ messages in thread
From: Oleg Solovyov @ 2025-08-06 14:39 UTC (permalink / raw)
  To: devel-kernel

В письме от среда, 6 августа 2025 г. 17:06:06 Москва, стандартное время 
пользователь Vitaly Chikunov написал:
> Oleg,
> 
> On Wed, Aug 06, 2025 at 04:18:21PM +0300, mcpain@altlinux.org wrote:
> > From: Oleg Solovyov <mcpain@altlinux.org>
> > 
> > Modern desktop environments tends to become incompatible with kiosk.
> > KDE works so far but systemd unit fails to launch [1]
> > GNOME breaks fatally [2]
> > 
> > This happens because /lib/systemd/systemd uses secure_getenv() to get
> > environment variables and receives NULL since secureexec is enforced by
> > Kiosk LSM.
> > 
> > Since I am uncertain what else is to be replaced with getenv() in
> > systemd and how much things it will break in future I chose to allow
> > running those executables without setting up secureexec.
> 
> Не написано кто, планируется, что уберет secureexec флаг, это было бы
> полезно знать для понимания замысла/контекста.

Не до конца распарсил вопрос, отвечаю так, как его понял:

Есть пакеты:
- kiosk-profiles: там хранятся executables, которые разрешено запускать 
пользователю (UID >= 1000)
- alterator-kiosk: инструмент включения-выключения режима киоска, добавления и 
удаления заранее упакованных списков (добавленных админом или находящихся в 
пакете kiosk-profiles) и применений изменений (отправление команд через утилиту 
kiosk)
- kiosk: cli-шная утилита с простыми командами управления киоском (установить/
получить состояние киоска, добавить/удалить/получить список разрешенных 
приложений) - именно она непосредственно общается с ядром

https://git.altlinux.org/people/mcpain/packages/?p=alterator-kiosk.git&a=shortlog&h=refs/heads/sisyphus
https://git.altlinux.org/people/mcpain/packages/?
p=kiosk.git&a=shortlog&h=refs/heads/sisyphus

В списках профиля:
U - указанный executable будет запущен с установленным secureexec
u - указанный executable будет запущен без затрагивания secureexec

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables
  2025-08-06 14:39   ` [d-kernel] " Oleg Solovyov
@ 2025-08-06 22:40     ` Vitaly Chikunov
  2025-08-07  8:03       ` [d-kernel] " Oleg Solovyov
  0 siblings, 1 reply; 9+ messages in thread
From: Vitaly Chikunov @ 2025-08-06 22:40 UTC (permalink / raw)
  To: ALT Linux kernel packages development

Oleg,

On Wed, Aug 06, 2025 at 05:39:41PM +0300, Oleg Solovyov wrote:
> В письме от среда, 6 августа 2025 г. 17:06:06 Москва, стандартное время 
> пользователь Vitaly Chikunov написал:
> > Oleg,
> > 
> > On Wed, Aug 06, 2025 at 04:18:21PM +0300, mcpain@altlinux.org wrote:
> > > From: Oleg Solovyov <mcpain@altlinux.org>
> > > 
> > > Modern desktop environments tends to become incompatible with kiosk.
> > > KDE works so far but systemd unit fails to launch [1]
> > > GNOME breaks fatally [2]
> > > 
> > > This happens because /lib/systemd/systemd uses secure_getenv() to get
> > > environment variables and receives NULL since secureexec is enforced by
> > > Kiosk LSM.
> > > 
> > > Since I am uncertain what else is to be replaced with getenv() in
> > > systemd and how much things it will break in future I chose to allow
> > > running those executables without setting up secureexec.
> > 
> > Не написано кто, планируется, что уберет secureexec флаг, это было бы
> > полезно знать для понимания замысла/контекста.
> 
> Не до конца распарсил вопрос, отвечаю так, как его понял:
> 
> Есть пакеты:
> - kiosk-profiles: там хранятся executables, которые разрешено запускать 
> пользователю (UID >= 1000)
> - alterator-kiosk: инструмент включения-выключения режима киоска, добавления и 
> удаления заранее упакованных списков (добавленных админом или находящихся в 
> пакете kiosk-profiles) и применений изменений (отправление команд через утилиту 
> kiosk)
> - kiosk: cli-шная утилита с простыми командами управления киоском (установить/
> получить состояние киоска, добавить/удалить/получить список разрешенных 
> приложений) - именно она непосредственно общается с ядром

Спасибо.
Как я понял, только патч [PATCH 2/2] kiosk: add secureexec parameter
стоит применять.

> 
> https://git.altlinux.org/people/mcpain/packages/?p=alterator-kiosk.git&a=shortlog&h=refs/heads/sisyphus
> https://git.altlinux.org/people/mcpain/packages/?
> p=kiosk.git&a=shortlog&h=refs/heads/sisyphus
> 
> В списках профиля:
> U - указанный executable будет запущен с установленным secureexec
> u - указанный executable будет запущен без затрагивания secureexec
> _______________________________________________
> devel-kernel mailing list
> devel-kernel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-kernel


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [d-kernel] Re: [PATCH 0/2] Kiosk: turn off secureexec for allowed executables
  2025-08-06 22:40     ` [d-kernel] " Vitaly Chikunov
@ 2025-08-07  8:03       ` Oleg Solovyov
  0 siblings, 0 replies; 9+ messages in thread
From: Oleg Solovyov @ 2025-08-07  8:03 UTC (permalink / raw)
  To: devel-kernel

В письме от четверг, 7 августа 2025 г. 01:40:56 Москва, стандартное время 
пользователь Vitaly Chikunov написал:
> Спасибо.
> Как я понял, только патч [PATCH 2/2] kiosk: add secureexec parameter
> стоит применять.

Да. 1/2 я выкинул как ненужный.
Сейчас перепишу 2/2 и включу туда "зачем и кто делает secureexec"

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-08-07  8:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-06 13:18 [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables mcpain
2025-08-06 13:18 ` [d-kernel] [PATCH 1/2] kiosk: split kiosk_nl_send_* mcpain
2025-08-06 13:57   ` Vitaly Chikunov
2025-08-06 14:26     ` Oleg Solovyov
2025-08-06 13:18 ` [d-kernel] [PATCH 2/2] kiosk: add secureexec parameter mcpain
2025-08-06 14:06 ` [d-kernel] [PATCH 0/2] Kiosk: turn off secureexec for allowed executables Vitaly Chikunov
2025-08-06 14:39   ` [d-kernel] " Oleg Solovyov
2025-08-06 22:40     ` [d-kernel] " Vitaly Chikunov
2025-08-07  8:03       ` [d-kernel] " Oleg Solovyov

ALT Linux kernel packages development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
		devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
	public-inbox-index devel-kernel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git