Skip to content

Commit 90a47bb

Browse files
committed
overlay sys-fs/overlaybd: Add a patch for issue inside tcmu
1 parent bac06fe commit 90a47bb

File tree

3 files changed

+72
-1
lines changed

3 files changed

+72
-1
lines changed

sdk_container/src/third_party/coreos-overlay/sys-fs/overlaybd/files/overlaybd-cross.patch

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,28 @@ Signed-off-by: James Le Cuirot <[email protected]>
127127
--
128128
2.49.0
129129

130+
131+
From 32a592ef523a14600ce658a695d827724aeb66c9 Mon Sep 17 00:00:00 2001
132+
From: Krzesimir Nowak <[email protected]>
133+
Date: Fri, 8 Aug 2025 16:47:58 +0200
134+
Subject: [PATCH] Patch libtcmu after fetching to fix memory issues
135+
136+
---
137+
CMake/Findtcmu.cmake | 1 +
138+
1 file changed, 1 insertion(+)
139+
140+
diff --git a/CMake/Findtcmu.cmake b/CMake/Findtcmu.cmake
141+
index 6e8f0ef..5865a9b 100644
142+
--- a/CMake/Findtcmu.cmake
143+
+++ b/CMake/Findtcmu.cmake
144+
@@ -5,6 +5,7 @@ FetchContent_Declare(
145+
tcmu
146+
GIT_REPOSITORY https://github.com/data-accelerator/photon-libtcmu.git
147+
GIT_TAG main
148+
+ PATCH_COMMAND patch -p1 -i @FILESDIR@/tcmu-fix.patch
149+
)
150+
151+
if(BUILD_TESTING)
152+
--
153+
2.49.1
154+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
From 0ee2c928de51ef56376c4ab6528ca1e23c13c4a7 Mon Sep 17 00:00:00 2001
2+
From: Krzesimir Nowak <[email protected]>
3+
Date: Fri, 8 Aug 2025 16:29:52 +0200
4+
Subject: [PATCH] fix
5+
6+
---
7+
scsi.cpp | 8 ++++----
8+
1 file changed, 4 insertions(+), 4 deletions(-)
9+
10+
diff --git a/scsi.cpp b/scsi.cpp
11+
index d8c27a9..4c7f480 100644
12+
--- a/scsi.cpp
13+
+++ b/scsi.cpp
14+
@@ -183,7 +183,7 @@ int tcmu_emulate_evpd_inquiry(
15+
{
16+
char data[512];
17+
char *ptr, *p, *wwn;
18+
- size_t len, used = 0;
19+
+ size_t len, used = 4;
20+
uint16_t *tot_len = (uint16_t*) &data[2];
21+
uint32_t padding;
22+
bool next;
23+
@@ -207,7 +207,7 @@ int tcmu_emulate_evpd_inquiry(
24+
25+
ptr[3] = 8 + len + 1;
26+
used += (uint8_t)ptr[3] + 4;
27+
- ptr += used;
28+
+ ptr += (uint8_t)ptr[3] + 4;
29+
30+
/* 2/5: NAA binary */
31+
ptr[0] = 1; /* code set: binary */
32+
@@ -340,9 +340,9 @@ int tcmu_emulate_evpd_inquiry(
33+
finish_page83:
34+
/* Done with descriptor list */
35+
36+
- *tot_len = htobe16(used);
37+
+ *tot_len = htobe16(used - 4);
38+
39+
- tcmu_memcpy_into_iovec(iovec, iov_cnt, data, used + 4);
40+
+ tcmu_memcpy_into_iovec(iovec, iov_cnt, data, used);
41+
42+
free(wwn);
43+
wwn = NULL;
44+
--
45+
2.49.1
46+

sdk_container/src/third_party/coreos-overlay/sys-fs/overlaybd/overlaybd-9999.ebuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ PATCHES=(
4949

5050
src_prepare() {
5151
cmake_src_prepare
52-
sed -i "s:@FILESDIR@:${FILESDIR}:g" CMake/Findphoton.cmake || die
52+
sed -i "s:@FILESDIR@:${FILESDIR}:g" CMake/Findphoton.cmake CMake/Findtcmu.cmake || die
5353
}
5454

5555
src_configure() {

0 commit comments

Comments
 (0)