From 430d71ee3745068b5d0dc80758389a870912a25d Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Thu, 29 Jun 2023 16:36:09 -0400 Subject: [PATCH 1/7] u3: ward before inner stores on leap --- pkg/noun/manage.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/noun/manage.c b/pkg/noun/manage.c index 09c9a370a9..5ff7d7b129 100644 --- a/pkg/noun/manage.c +++ b/pkg/noun/manage.c @@ -518,7 +518,7 @@ _pave_road(c3_w* rut_w, c3_w* mat_w, c3_w* cap_w, c3_w siz_w) len_w - size of your loom in words */ static u3_road* -_pave_north(c3_w* mem_w, c3_w siz_w, c3_w len_w) +_pave_north(c3_w* mem_w, c3_w siz_w, c3_w len_w, c3_o kid_o) { // in a north road, the heap is low and the stack is high // @@ -533,6 +533,10 @@ _pave_north(c3_w* mem_w, c3_w siz_w, c3_w len_w) c3_w* rut_w = c3_align(mem_w, u3C.balign_d, C3_ALGHI); c3_w* cap_w = mat_w; + if ( c3y == kid_o ) { + u3e_ward(u3of(c3_w, rut_w) - 1, u3of(c3_w, cap_w)); + } + return _pave_road(rut_w, mat_w, cap_w, siz_w); } @@ -555,10 +559,13 @@ _pave_south(c3_w* mem_w, c3_w siz_w, c3_w len_w) // // 00~~~|M|+++|C|######|H|---|R|~~~FFF // ^---u3R which _pave_road returns + // c3_w* mat_w = c3_align(mem_w, u3C.balign_d, C3_ALGHI); c3_w* rut_w = c3_align(mem_w + len_w, u3C.balign_d, C3_ALGLO); c3_w* cap_w = mat_w + siz_w; + u3e_ward(u3of(c3_w, cap_w) - 1, u3of(c3_w, rut_w)); + return _pave_road(rut_w, mat_w, cap_w, siz_w); } @@ -574,7 +581,7 @@ _pave_home(void) c3_w siz_w = c3_wiseof(u3v_home); c3_w len_w = u3C.wor_i - u3C.walign_w; - u3H = (void *)_pave_north(mem_w, siz_w, len_w); + u3H = (void *)_pave_north(mem_w, siz_w, len_w, c3n); u3H->ver_w = U3V_VERLAT; u3R = &u3H->rod_u; @@ -879,7 +886,7 @@ u3m_leap(c3_w pad_w) else { bot_p = u3R->cap_p; - rod_u = _pave_north(u3a_into(bot_p), c3_wiseof(u3a_road), len_w); + rod_u = _pave_north(u3a_into(bot_p), c3_wiseof(u3a_road), len_w, c3y); #if 0 fprintf(stderr, "SPAR.hat_p: 0x%x %p, NKID.hat_p: 0x%x %p\r\n", u3R->hat_p, u3a_into(u3R->hat_p), @@ -901,7 +908,6 @@ u3m_leap(c3_w pad_w) */ { u3R = rod_u; - u3m_ward(); _pave_parts(); } #ifdef U3_MEMORY_DEBUG From a670d22635bd6038bc18824c21daedc7f21be4f9 Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Thu, 29 Jun 2023 16:53:14 -0400 Subject: [PATCH 2/7] TMP: adds printf for previous bogus assertion --- pkg/noun/manage.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/noun/manage.c b/pkg/noun/manage.c index 5ff7d7b129..19e829437e 100644 --- a/pkg/noun/manage.c +++ b/pkg/noun/manage.c @@ -845,6 +845,7 @@ u3m_leap(c3_w pad_w) { c3_w len_w; /* the length of the new road (avail - (pad + wiseof(u3a_road))) */ u3_road* rod_u; + const c3_w gar_w = u3P.gar_w; _rod_vaal(u3R); @@ -896,6 +897,12 @@ u3m_leap(c3_w pad_w) } } + if ( ((u3a_outa(rod_u) >> u3a_page) == gar_w) + || ((u3a_outa(rod_u) + c3_wiseof(u3a_road) - 1) >> u3a_page) == gar_w ) + { + fprintf(stderr, "loom: ward would've been bogus\r\n"); + } + /* Attach the new road to its parents. */ { From 14be92ef3586319da581ef406c8bfccde710070f Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Fri, 30 Jun 2023 11:04:51 -0400 Subject: [PATCH 3/7] u3: fix bug in guard page placement calculation (using post instead of page) --- pkg/noun/events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/noun/events.c b/pkg/noun/events.c index 6ea30fdbc2..dc1ba965d0 100644 --- a/pkg/noun/events.c +++ b/pkg/noun/events.c @@ -1715,7 +1715,7 @@ u3e_ward(u3_post low_p, u3_post hig_p) c3_w sop_w = hig_p >> u3a_page; c3_w pag_w = u3P.gar_w; - if ( !((pag_w > nop_w) && (pag_w < hig_p)) ) { + if ( !((pag_w > nop_w) && (pag_w < sop_w)) ) { u3_assert( !_ce_ward_post(nop_w, sop_w) ); u3_assert( !_ce_flaw_mprotect(pag_w) ); u3_assert( u3P.dit_w[pag_w >> 5] & (1 << (pag_w & 31)) ); From 56be5f67fc08a610c50bb33ea15ab29baa849e22 Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Fri, 30 Jun 2023 12:05:18 -0400 Subject: [PATCH 4/7] Revert "TMP: adds printf for previous bogus assertion" This reverts commit a670d22635bd6038bc18824c21daedc7f21be4f9. --- pkg/noun/manage.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkg/noun/manage.c b/pkg/noun/manage.c index 19e829437e..5ff7d7b129 100644 --- a/pkg/noun/manage.c +++ b/pkg/noun/manage.c @@ -845,7 +845,6 @@ u3m_leap(c3_w pad_w) { c3_w len_w; /* the length of the new road (avail - (pad + wiseof(u3a_road))) */ u3_road* rod_u; - const c3_w gar_w = u3P.gar_w; _rod_vaal(u3R); @@ -897,12 +896,6 @@ u3m_leap(c3_w pad_w) } } - if ( ((u3a_outa(rod_u) >> u3a_page) == gar_w) - || ((u3a_outa(rod_u) + c3_wiseof(u3a_road) - 1) >> u3a_page) == gar_w ) - { - fprintf(stderr, "loom: ward would've been bogus\r\n"); - } - /* Attach the new road to its parents. */ { From 6427dcda0a87601f24874dbe5187c433c5a29096 Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Fri, 30 Jun 2023 13:45:15 -0400 Subject: [PATCH 5/7] ci: fix error check in version upload --- .github/workflows/shared.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/shared.yml b/.github/workflows/shared.yml index 30a8b2ca0b..eec7f3fec9 100644 --- a/.github/workflows/shared.yml +++ b/.github/workflows/shared.yml @@ -241,6 +241,7 @@ jobs: # We don't use -n here because we want to overwrite the version # string. gsutil cp ./bazel-bin/version "$target" + exitcode=$? [ $exitcode -eq 0 ] && echo "Upload to $target completed successfully." || From 4c37156e1958cc0547b2c1fec6220bb1c94e511f Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Fri, 30 Jun 2023 16:04:46 -0400 Subject: [PATCH 6/7] meld: once is enough --- pkg/vere/main.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkg/vere/main.c b/pkg/vere/main.c index 779526528e..f83d656e98 100644 --- a/pkg/vere/main.c +++ b/pkg/vere/main.c @@ -1925,13 +1925,10 @@ _cw_meld(c3_i argc, c3_c* argv[]) } u3_disk* log_u = _cw_disk_init(u3_Host.dir_c); // XX s/b try_aquire lock - c3_w pre_w; u3C.wag_w |= u3o_hashless; u3m_boot(u3_Host.dir_c, (size_t)1 << u3_Host.ops_u.lom_y); - pre_w = u3a_open(u3R); - u3u_meld(); u3a_print_memory(stderr, "urbit: meld: gained", u3u_meld()); u3m_save(); From 754e379b1c31b44bcb1b61a6ed69e1c7c5e8d8dd Mon Sep 17 00:00:00 2001 From: Pyry Kovanen Date: Mon, 3 Jul 2023 18:22:40 +0300 Subject: [PATCH 7/7] Update VERSION to 2.11 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 37989bd16b..6a5fe6e897 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.10 +2.11