diff --git a/recipes-kernel/linux/files/0001-mctp-support-setting-MCTP-tag-timeout.patch b/recipes-kernel/linux/files/0001-mctp-support-setting-MCTP-tag-timeout.patch
new file mode 100644
index 0000000..944cb38
--- /dev/null
+++ b/recipes-kernel/linux/files/0001-mctp-support-setting-MCTP-tag-timeout.patch
@@ -0,0 +1,126 @@
+From b364c96b4d976f14da46f46703737b4d9bf23fa0 Mon Sep 17 00:00:00 2001
+From: Jinliang Wang <jinliangw@google.com>
+Date: Sun, 28 Apr 2024 21:15:25 -0700
+Subject: [PATCH] mctp: support setting MCTP tag timeout
+
+Define a new ioctl command SIOCMCTPSETTAGTO which can be used to set
+MCTP tag timeout per socket granularity.
+
+Without this patch, the default timeout for automatic allocated MCTP tag
+is mctp_key_lifetime (6 seconds).
+
+Patch Tracking Bug: b/337932733
+Upstream info / review: N/A
+Upstream-Status: Pending
+Justification:  we need control the timeout setting of MCTP tag.
+
+Google-Bug-Id: 336355842
+Signed-off-by: Jinliang Wang <jinliangw@google.com>
+---
+ include/net/mctp.h        |  3 +++
+ include/uapi/linux/mctp.h |  3 +++
+ net/mctp/af_mctp.c        | 15 +++++++++++++++
+ net/mctp/route.c          |  5 ++---
+ 4 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/include/net/mctp.h b/include/net/mctp.h
+index d37268fe6825..4e3da43c075c 100644
+--- a/include/net/mctp.h
++++ b/include/net/mctp.h
+@@ -82,6 +82,9 @@ struct mctp_sock {
+ 	 */
+ 	struct hlist_head keys;
+ 
++	/* tag(key) expiry jiffies */
++	unsigned long key_lifetime;
++
+ 	/* mechanism for expiring allocated keys; will release an allocated
+ 	 * tag, and any netdev state for a request/response pairing
+ 	 */
+diff --git a/include/uapi/linux/mctp.h b/include/uapi/linux/mctp.h
+index 154ab56651f1..e6529d4a7b8d 100644
+--- a/include/uapi/linux/mctp.h
++++ b/include/uapi/linux/mctp.h
+@@ -51,6 +51,9 @@ struct sockaddr_mctp_ext {
+ #define SIOCMCTPALLOCTAG	(SIOCPROTOPRIVATE + 0)
+ #define SIOCMCTPDROPTAG		(SIOCPROTOPRIVATE + 1)
+ 
++/* Use last slot to avoid collision with upstream */
++#define SIOCMCTPSETTAGTO	(SIOCPROTOPRIVATE + 15)
++
+ struct mctp_ioc_tag_ctl {
+ 	mctp_eid_t	peer_addr;
+ 
+diff --git a/net/mctp/af_mctp.c b/net/mctp/af_mctp.c
+index 786079e6d8cf..8a14900e3f94 100644
+--- a/net/mctp/af_mctp.c
++++ b/net/mctp/af_mctp.c
+@@ -416,6 +416,17 @@ static int mctp_ioctl_droptag(struct mctp_sock *msk, unsigned long arg)
+ 	return rc;
+ }
+ 
++static int mctp_ioctl_settagto(struct mctp_sock *msk,
++				      unsigned long timeoutS)
++{
++	if (timeoutS == 0)
++		return -EINVAL;
++
++	pr_info_once("set_tag_timeout, key_lifetime: %lu seconds\n", timeoutS);
++	msk->key_lifetime = timeoutS * CONFIG_HZ;
++	return 0;
++}
++
+ static int mctp_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
+ {
+ 	struct mctp_sock *msk = container_of(sock->sk, struct mctp_sock, sk);
+@@ -425,6 +436,8 @@ static int mctp_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
+ 		return mctp_ioctl_alloctag(msk, arg);
+ 	case SIOCMCTPDROPTAG:
+ 		return mctp_ioctl_droptag(msk, arg);
++	case SIOCMCTPSETTAGTO:
++		return mctp_ioctl_settagto(msk, arg);
+ 	}
+ 
+ 	return -EINVAL;
+@@ -518,6 +531,8 @@ static int mctp_sk_init(struct sock *sk)
+ 	struct mctp_sock *msk = container_of(sk, struct mctp_sock, sk);
+ 
+ 	INIT_HLIST_HEAD(&msk->keys);
++	/* 6 seconds by default*/
++	msk->key_lifetime = 6 * CONFIG_HZ;
+ 	timer_setup(&msk->key_expiry, mctp_sk_expire_keys, 0);
+ 	return 0;
+ }
+diff --git a/net/mctp/route.c b/net/mctp/route.c
+index b9a293c1c49c..3a41a23d2f74 100644
+--- a/net/mctp/route.c
++++ b/net/mctp/route.c
+@@ -27,7 +27,6 @@
+ #include <trace/events/mctp.h>
+ 
+ static const unsigned int mctp_message_maxlen = 64 * 1024;
+-static const unsigned long mctp_key_lifetime = 6 * CONFIG_HZ;
+ 
+ static void mctp_flow_prepare_output(struct sk_buff *skb, struct mctp_dev *dev);
+ 
+@@ -196,7 +195,7 @@ static int mctp_key_add(struct mctp_sk_key *key, struct mctp_sock *msk)
+ 
+ 	if (!rc) {
+ 		refcount_inc(&key->refs);
+-		key->expiry = jiffies + mctp_key_lifetime;
++		key->expiry = jiffies + msk->key_lifetime;
+ 		timer_reduce(&msk->key_expiry, key->expiry);
+ 
+ 		hlist_add_head(&key->hlist, &net->mctp.keys);
+@@ -578,7 +577,7 @@ static void mctp_reserve_tag(struct net *net, struct mctp_sk_key *key,
+ 
+ 	lockdep_assert_held(&mns->keys_lock);
+ 
+-	key->expiry = jiffies + mctp_key_lifetime;
++	key->expiry = jiffies + msk->key_lifetime;
+ 	timer_reduce(&msk->key_expiry, key->expiry);
+ 
+ 	/* we hold the net->key_lock here, allowing updates to both
+-- 
+2.48.1.362.g079036d154-goog
+
