Accepting request 1070827 from home:hmzhao:branches:network:ha-clustering:Factory
drbd: fix build error against kernel v6.2.1 (bsc#1209168) * update patch + bsc-1206791-05-prandom_u32_max.patch OBS-URL: https://build.opensuse.org/request/show/1070827 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/drbd?expand=0&rev=144
This commit is contained in:
parent
44b98926cd
commit
d4c87ee5c1
@ -1,4 +1,4 @@
|
|||||||
by heming.zhao@suse.com on 20220105
|
by heming.zhao@suse.com on 20220105 (bsc#1206791)
|
||||||
|
|
||||||
This is SUSE special patch, and this patch cocci codes were partly
|
This is SUSE special patch, and this patch cocci codes were partly
|
||||||
copied from upstream kernel commit 81895a65ec63ee1daec3255dc1a06675d2fbe915
|
copied from upstream kernel commit 81895a65ec63ee1daec3255dc1a06675d2fbe915
|
||||||
@ -8,6 +8,18 @@ Because I don't know cocci syntax, so in drbd_state.c this patch
|
|||||||
directly modifies prandom_u32() to prandom_u32_max(U32_MAX). All
|
directly modifies prandom_u32() to prandom_u32_max(U32_MAX). All
|
||||||
other cases use cocci to modify.
|
other cases use cocci to modify.
|
||||||
|
|
||||||
|
---
|
||||||
|
by heming.zhao@suse.com on 20230311 (bsc#1209168)
|
||||||
|
|
||||||
|
OpenSUSE kernel had been updated to v6.2.1, modification on 20220105
|
||||||
|
is not suitable. The upstream commit 8032bf1233a7 ("treewide:
|
||||||
|
use get_random_u32_below() instead of deprecated function") replaced
|
||||||
|
the prandom.h function prandom_u32_max with the random.h function
|
||||||
|
get_random_u32_below.
|
||||||
|
|
||||||
|
I changed this patch under latest kernel, using get_random_u32_below
|
||||||
|
to replace prandom_u32_max.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
diff -Nupr a/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci b/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci
|
diff -Nupr a/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci b/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci
|
||||||
@ -25,16 +37,16 @@ diff -Nupr a/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci b/drbd/
|
|||||||
+@@
|
+@@
|
||||||
+(
|
+(
|
||||||
+- ((T)get_random_u32() % (E))
|
+- ((T)get_random_u32() % (E))
|
||||||
++ prandom_u32_max(E)
|
++ get_random_u32_below(E)
|
||||||
+|
|
+|
|
||||||
+- ((T)get_random_u32() & ((E) - 1))
|
+- ((T)get_random_u32() & ((E) - 1))
|
||||||
++ prandom_u32_max(E * XXX_MAKE_SURE_E_IS_POW2)
|
++ get_random_u32_below(E * XXX_MAKE_SURE_E_IS_POW2)
|
||||||
+|
|
+|
|
||||||
+- ((u64)(E) * get_random_u32() >> 32)
|
+- ((u64)(E) * get_random_u32() >> 32)
|
||||||
++ prandom_u32_max(E)
|
++ get_random_u32_below(E)
|
||||||
+|
|
+|
|
||||||
+- ((T)get_random_u32() & ~PAGE_MASK)
|
+- ((T)get_random_u32() & ~PAGE_MASK)
|
||||||
++ prandom_u32_max(PAGE_SIZE)
|
++ get_random_u32_below(PAGE_SIZE)
|
||||||
+)
|
+)
|
||||||
+
|
+
|
||||||
+@multi_line@
|
+@multi_line@
|
||||||
@ -46,7 +58,7 @@ diff -Nupr a/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci b/drbd/
|
|||||||
+- RAND = get_random_u32();
|
+- RAND = get_random_u32();
|
||||||
+ ... when != RAND
|
+ ... when != RAND
|
||||||
+- RAND %= (E);
|
+- RAND %= (E);
|
||||||
++ RAND = prandom_u32_max(E);
|
++ RAND = get_random_u32_below(E);
|
||||||
+
|
+
|
||||||
+// Find a potential literal
|
+// Find a potential literal
|
||||||
+@literal_mask@
|
+@literal_mask@
|
||||||
@ -92,7 +104,7 @@ diff -Nupr a/drbd/drbd-kernel-compat/cocci/prandom_u32__no_present.cocci b/drbd/
|
|||||||
+@@
|
+@@
|
||||||
+
|
+
|
||||||
+- (FUNC()@p & (LITERAL))
|
+- (FUNC()@p & (LITERAL))
|
||||||
++ prandom_u32_max(RESULT)
|
++ get_random_u32_below(RESULT)
|
||||||
diff -Nupr a/drbd/drbd_state.c b/drbd/drbd_state.c
|
diff -Nupr a/drbd/drbd_state.c b/drbd/drbd_state.c
|
||||||
--- a/drbd/drbd_state.c 2023-01-05 09:00:01.252434773 +0800
|
--- a/drbd/drbd_state.c 2023-01-05 09:00:01.252434773 +0800
|
||||||
+++ b/drbd/drbd_state.c 2023-01-05 09:02:47.519078927 +0800
|
+++ b/drbd/drbd_state.c 2023-01-05 09:02:47.519078927 +0800
|
||||||
@ -101,7 +113,7 @@ diff -Nupr a/drbd/drbd_state.c b/drbd/drbd_state.c
|
|||||||
|
|
||||||
do
|
do
|
||||||
- reply->tid = prandom_u32();
|
- reply->tid = prandom_u32();
|
||||||
+ reply->tid = prandom_u32_max(U32_MAX);
|
+ reply->tid = get_random_u32_below(U32_MAX);
|
||||||
while (!reply->tid);
|
while (!reply->tid);
|
||||||
|
|
||||||
request.tid = cpu_to_be32(reply->tid);
|
request.tid = cpu_to_be32(reply->tid);
|
||||||
@ -110,7 +122,7 @@ diff -Nupr a/drbd/drbd_state.c b/drbd/drbd_state.c
|
|||||||
|
|
||||||
do
|
do
|
||||||
- reply->tid = prandom_u32();
|
- reply->tid = prandom_u32();
|
||||||
+ reply->tid = prandom_u32_max(U32_MAX);
|
+ reply->tid = get_random_u32_below(U32_MAX);
|
||||||
while (!reply->tid);
|
while (!reply->tid);
|
||||||
|
|
||||||
request.tid = cpu_to_be32(reply->tid);
|
request.tid = cpu_to_be32(reply->tid);
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
------------------------------------------------------------------
|
||||||
|
Sat Mar 11 06:25:00 UTC 2023 - Heming Zhao <heming.zhao@suse.com>
|
||||||
|
|
||||||
|
- drbd: fix build error against kernel v6.2.1 (bsc#1209168)
|
||||||
|
* update patch
|
||||||
|
+ bsc-1206791-05-prandom_u32_max.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 6 01:40:00 UTC 2023 - Heming Zhao <heming.zhao@suse.com>
|
Thu Jan 6 01:40:00 UTC 2023 - Heming Zhao <heming.zhao@suse.com>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user