.../libs/guest/xg_dom_decompress_unsafe_xz.c | 1 - xen/common/unxz.c | 2 +- xen/common/xz/dec_bcj.c | 6 +++--- xen/common/xz/dec_lzma2.c | 20 +++++++++---------- xen/common/xz/dec_stream.c | 8 ++++---- xen/common/xz/lzma2.h | 2 +- xen/common/xz/private.h | 2 +- 7 files changed, 20 insertions(+), 21 deletions(-)
In particular, the libxg wrapper for unxz.c uses char for bool_t which is a
major antipattern. Luckily the code doesn't suffer from truncated values.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
---
.../libs/guest/xg_dom_decompress_unsafe_xz.c | 1 -
xen/common/unxz.c | 2 +-
xen/common/xz/dec_bcj.c | 6 +++---
xen/common/xz/dec_lzma2.c | 20 +++++++++----------
xen/common/xz/dec_stream.c | 8 ++++----
xen/common/xz/lzma2.h | 2 +-
xen/common/xz/private.h | 2 +-
7 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
index fc4819874111..80eed912dd68 100644
--- a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
+++ b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
@@ -11,7 +11,6 @@
// TODO
#define XZ_DEC_X86
-typedef char bool_t;
typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;
diff --git a/xen/common/unxz.c b/xen/common/unxz.c
index 17aead0adfe6..9586a4e5c94f 100644
--- a/xen/common/unxz.c
+++ b/xen/common/unxz.c
@@ -166,7 +166,7 @@ int __init unxz(unsigned char *in, unsigned int in_size,
struct xz_buf b;
struct xz_dec *s;
enum xz_ret ret;
- bool_t must_free_in = false;
+ bool must_free_in = false;
xz_crc32_init();
diff --git a/xen/common/xz/dec_bcj.c b/xen/common/xz/dec_bcj.c
index bfa498587ab8..bdc59770f8a6 100644
--- a/xen/common/xz/dec_bcj.c
+++ b/xen/common/xz/dec_bcj.c
@@ -35,7 +35,7 @@ struct xz_dec_bcj {
enum xz_ret ret;
/* True if we are operating in single-call mode. */
- bool_t single_call;
+ bool single_call;
/*
* Absolute position relative to the beginning of the uncompressed
@@ -87,7 +87,7 @@ static inline int __init bcj_x86_test_msbyte(uint8_t b)
static size_t __init bcj_x86(struct xz_dec_bcj *s, uint8_t *buf, size_t size)
{
- static const bool_t mask_to_allowed_status[8]
+ static const bool mask_to_allowed_status[8]
= { true, true, true, false, true, false, false, false };
static const uint8_t mask_to_bit_num[8] = { 0, 1, 2, 2, 3, 3, 3, 3 };
@@ -524,7 +524,7 @@ XZ_EXTERN enum xz_ret __init xz_dec_bcj_run(struct xz_dec_bcj *s,
return s->ret;
}
-XZ_EXTERN struct xz_dec_bcj *__init xz_dec_bcj_create(bool_t single_call)
+XZ_EXTERN struct xz_dec_bcj *__init xz_dec_bcj_create(bool single_call)
{
struct xz_dec_bcj *s = malloc(sizeof(*s));
if (s != NULL)
diff --git a/xen/common/xz/dec_lzma2.c b/xen/common/xz/dec_lzma2.c
index f80d8309f4c3..71359fab9f60 100644
--- a/xen/common/xz/dec_lzma2.c
+++ b/xen/common/xz/dec_lzma2.c
@@ -241,13 +241,13 @@ struct lzma2_dec {
* True if dictionary reset is needed. This is false before
* the first chunk (LZMA or uncompressed).
*/
- bool_t need_dict_reset;
+ bool need_dict_reset;
/*
* True if new LZMA properties are needed. This is false
* before the first LZMA chunk.
*/
- bool_t need_props;
+ bool need_props;
};
struct xz_dec_lzma2 {
@@ -306,7 +306,7 @@ static void __init dict_limit(struct dictionary *dict, size_t out_max)
}
/* Return true if at least one byte can be written into the dictionary. */
-static inline bool_t __init dict_has_space(const struct dictionary *dict)
+static inline bool __init dict_has_space(const struct dictionary *dict)
{
return dict->pos < dict->limit;
}
@@ -343,7 +343,7 @@ static inline void __init dict_put(struct dictionary *dict, uint8_t byte)
* invalid, false is returned. On success, true is returned and *len is
* updated to indicate how many bytes were left to be repeated.
*/
-static bool_t __init dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist)
+static bool __init dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist)
{
size_t back;
uint32_t left;
@@ -463,7 +463,7 @@ static void __init rc_reset(struct rc_dec *rc)
* Read the first five initial bytes into rc->code if they haven't been
* read already. (Yes, the first byte gets completely ignored.)
*/
-static bool_t __init rc_read_init(struct rc_dec *rc, struct xz_buf *b)
+static bool __init rc_read_init(struct rc_dec *rc, struct xz_buf *b)
{
while (rc->init_bytes_left > 0) {
if (b->in_pos == b->in_size)
@@ -477,7 +477,7 @@ static bool_t __init rc_read_init(struct rc_dec *rc, struct xz_buf *b)
}
/* Return true if there may not be enough input for the next decoding loop. */
-static inline bool_t __init rc_limit_exceeded(const struct rc_dec *rc)
+static inline bool __init rc_limit_exceeded(const struct rc_dec *rc)
{
return rc->in_pos > rc->in_limit;
}
@@ -486,7 +486,7 @@ static inline bool_t __init rc_limit_exceeded(const struct rc_dec *rc)
* Return true if it is possible (from point of view of range decoder) that
* we have reached the end of the LZMA chunk.
*/
-static inline bool_t __init rc_is_finished(const struct rc_dec *rc)
+static inline bool __init rc_is_finished(const struct rc_dec *rc)
{
return rc->code == 0;
}
@@ -736,7 +736,7 @@ static void __init lzma_rep_match(struct xz_dec_lzma2 *s, uint32_t pos_state)
}
/* LZMA decoder core */
-static bool_t __init lzma_main(struct xz_dec_lzma2 *s)
+static bool __init lzma_main(struct xz_dec_lzma2 *s)
{
uint32_t pos_state;
@@ -814,7 +814,7 @@ static void __init lzma_reset(struct xz_dec_lzma2 *s)
* from the decoded lp and pb values. On success, the LZMA decoder state is
* reset and true is returned.
*/
-static bool_t __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props)
+static bool __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props)
{
if (props > (4 * 5 + 4) * 9 + 8)
return false;
@@ -861,7 +861,7 @@ static bool_t __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props)
* function. We decode a few bytes from the temporary buffer so that we can
* continue decoding from the caller-supplied input buffer again.
*/
-static bool_t __init lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
+static bool __init lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b)
{
size_t in_avail;
uint32_t tmp;
diff --git a/xen/common/xz/dec_stream.c b/xen/common/xz/dec_stream.c
index b91d8362c19c..caea4f2596a1 100644
--- a/xen/common/xz/dec_stream.c
+++ b/xen/common/xz/dec_stream.c
@@ -55,7 +55,7 @@ struct xz_dec {
* True if the next call to xz_dec_run() is allowed to return
* XZ_BUF_ERROR.
*/
- bool_t allow_buf_error;
+ bool allow_buf_error;
/* Information stored in Block Header */
struct {
@@ -132,7 +132,7 @@ struct xz_dec {
#ifdef XZ_DEC_BCJ
struct xz_dec_bcj *bcj;
- bool_t bcj_active;
+ bool bcj_active;
#endif
};
@@ -154,7 +154,7 @@ static const uint8_t check_sizes[16] = {
* to copy into s->temp.buf. Return true once s->temp.pos has reached
* s->temp.size.
*/
-static bool_t __init fill_temp(struct xz_dec *s, struct xz_buf *b)
+static bool __init fill_temp(struct xz_dec *s, struct xz_buf *b)
{
size_t copy_size = min_t(size_t,
b->in_size - b->in_pos, s->temp.size - s->temp.pos);
@@ -367,7 +367,7 @@ static enum xz_ret __init crc32_validate(struct xz_dec *s, struct xz_buf *b)
* Skip over the Check field when the Check ID is not supported.
* Returns true once the whole Check field has been skipped over.
*/
-static bool_t __init check_skip(struct xz_dec *s, struct xz_buf *b)
+static bool __init check_skip(struct xz_dec *s, struct xz_buf *b)
{
while (s->pos < check_sizes[s->check_type]) {
if (b->in_pos == b->in_size)
diff --git a/xen/common/xz/lzma2.h b/xen/common/xz/lzma2.h
index e0ef42e880a0..06a7edb4d720 100644
--- a/xen/common/xz/lzma2.h
+++ b/xen/common/xz/lzma2.h
@@ -90,7 +90,7 @@ static inline void __init lzma_state_short_rep(enum lzma_state *state)
}
/* Test if the previous symbol was a literal. */
-static inline bool_t __init lzma_state_is_literal(enum lzma_state state)
+static inline bool __init lzma_state_is_literal(enum lzma_state state)
{
return state < LIT_STATES;
}
diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h
index 511343fcc234..e6814250e84f 100644
--- a/xen/common/xz/private.h
+++ b/xen/common/xz/private.h
@@ -237,7 +237,7 @@ XZ_EXTERN void xz_dec_lzma2_end(struct xz_dec_lzma2 *s);
* Allocate memory for BCJ decoders. xz_dec_bcj_reset() must be used before
* calling xz_dec_bcj_run().
*/
-XZ_EXTERN struct xz_dec_bcj *xz_dec_bcj_create(bool_t single_call);
+XZ_EXTERN struct xz_dec_bcj *xz_dec_bcj_create(bool single_call);
/*
* Decode the Filter ID of a BCJ filter. This implementation doesn't
--
2.30.2
On Tue, 20 Jun 2023, Andrew Cooper wrote: > In particular, the libxg wrapper for unxz.c uses char for bool_t which is a > major antipattern. Luckily the code doesn't suffer from truncated values. > > No functional change. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> FYI I checked patchew and it took the patch off of xen-devel, applied it to a branch, triggered a gitlab-ci pipeline, and it was successful: https://gitlab.com/xen-project/patchew/xen/-/pipelines/906050463 All of this without me having to do anything! We live in the future. Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > CC: Jan Beulich <JBeulich@suse.com> > CC: Roger Pau Monné <roger.pau@citrix.com> > CC: Wei Liu <wl@xen.org> > CC: Stefano Stabellini <sstabellini@kernel.org> > CC: Julien Grall <julien@xen.org> > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> > CC: Bertrand Marquis <bertrand.marquis@arm.com> > --- > .../libs/guest/xg_dom_decompress_unsafe_xz.c | 1 - > xen/common/unxz.c | 2 +- > xen/common/xz/dec_bcj.c | 6 +++--- > xen/common/xz/dec_lzma2.c | 20 +++++++++---------- > xen/common/xz/dec_stream.c | 8 ++++---- > xen/common/xz/lzma2.h | 2 +- > xen/common/xz/private.h | 2 +- > 7 files changed, 20 insertions(+), 21 deletions(-) > > diff --git a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c > index fc4819874111..80eed912dd68 100644 > --- a/tools/libs/guest/xg_dom_decompress_unsafe_xz.c > +++ b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c > @@ -11,7 +11,6 @@ > // TODO > #define XZ_DEC_X86 > > -typedef char bool_t; > typedef uint8_t u8; > typedef uint16_t u16; > typedef uint32_t u32; > diff --git a/xen/common/unxz.c b/xen/common/unxz.c > index 17aead0adfe6..9586a4e5c94f 100644 > --- a/xen/common/unxz.c > +++ b/xen/common/unxz.c > @@ -166,7 +166,7 @@ int __init unxz(unsigned char *in, unsigned int in_size, > struct xz_buf b; > struct xz_dec *s; > enum xz_ret ret; > - bool_t must_free_in = false; > + bool must_free_in = false; > > xz_crc32_init(); > > diff --git a/xen/common/xz/dec_bcj.c b/xen/common/xz/dec_bcj.c > index bfa498587ab8..bdc59770f8a6 100644 > --- a/xen/common/xz/dec_bcj.c > +++ b/xen/common/xz/dec_bcj.c > @@ -35,7 +35,7 @@ struct xz_dec_bcj { > enum xz_ret ret; > > /* True if we are operating in single-call mode. */ > - bool_t single_call; > + bool single_call; > > /* > * Absolute position relative to the beginning of the uncompressed > @@ -87,7 +87,7 @@ static inline int __init bcj_x86_test_msbyte(uint8_t b) > > static size_t __init bcj_x86(struct xz_dec_bcj *s, uint8_t *buf, size_t size) > { > - static const bool_t mask_to_allowed_status[8] > + static const bool mask_to_allowed_status[8] > = { true, true, true, false, true, false, false, false }; > > static const uint8_t mask_to_bit_num[8] = { 0, 1, 2, 2, 3, 3, 3, 3 }; > @@ -524,7 +524,7 @@ XZ_EXTERN enum xz_ret __init xz_dec_bcj_run(struct xz_dec_bcj *s, > return s->ret; > } > > -XZ_EXTERN struct xz_dec_bcj *__init xz_dec_bcj_create(bool_t single_call) > +XZ_EXTERN struct xz_dec_bcj *__init xz_dec_bcj_create(bool single_call) > { > struct xz_dec_bcj *s = malloc(sizeof(*s)); > if (s != NULL) > diff --git a/xen/common/xz/dec_lzma2.c b/xen/common/xz/dec_lzma2.c > index f80d8309f4c3..71359fab9f60 100644 > --- a/xen/common/xz/dec_lzma2.c > +++ b/xen/common/xz/dec_lzma2.c > @@ -241,13 +241,13 @@ struct lzma2_dec { > * True if dictionary reset is needed. This is false before > * the first chunk (LZMA or uncompressed). > */ > - bool_t need_dict_reset; > + bool need_dict_reset; > > /* > * True if new LZMA properties are needed. This is false > * before the first LZMA chunk. > */ > - bool_t need_props; > + bool need_props; > }; > > struct xz_dec_lzma2 { > @@ -306,7 +306,7 @@ static void __init dict_limit(struct dictionary *dict, size_t out_max) > } > > /* Return true if at least one byte can be written into the dictionary. */ > -static inline bool_t __init dict_has_space(const struct dictionary *dict) > +static inline bool __init dict_has_space(const struct dictionary *dict) > { > return dict->pos < dict->limit; > } > @@ -343,7 +343,7 @@ static inline void __init dict_put(struct dictionary *dict, uint8_t byte) > * invalid, false is returned. On success, true is returned and *len is > * updated to indicate how many bytes were left to be repeated. > */ > -static bool_t __init dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist) > +static bool __init dict_repeat(struct dictionary *dict, uint32_t *len, uint32_t dist) > { > size_t back; > uint32_t left; > @@ -463,7 +463,7 @@ static void __init rc_reset(struct rc_dec *rc) > * Read the first five initial bytes into rc->code if they haven't been > * read already. (Yes, the first byte gets completely ignored.) > */ > -static bool_t __init rc_read_init(struct rc_dec *rc, struct xz_buf *b) > +static bool __init rc_read_init(struct rc_dec *rc, struct xz_buf *b) > { > while (rc->init_bytes_left > 0) { > if (b->in_pos == b->in_size) > @@ -477,7 +477,7 @@ static bool_t __init rc_read_init(struct rc_dec *rc, struct xz_buf *b) > } > > /* Return true if there may not be enough input for the next decoding loop. */ > -static inline bool_t __init rc_limit_exceeded(const struct rc_dec *rc) > +static inline bool __init rc_limit_exceeded(const struct rc_dec *rc) > { > return rc->in_pos > rc->in_limit; > } > @@ -486,7 +486,7 @@ static inline bool_t __init rc_limit_exceeded(const struct rc_dec *rc) > * Return true if it is possible (from point of view of range decoder) that > * we have reached the end of the LZMA chunk. > */ > -static inline bool_t __init rc_is_finished(const struct rc_dec *rc) > +static inline bool __init rc_is_finished(const struct rc_dec *rc) > { > return rc->code == 0; > } > @@ -736,7 +736,7 @@ static void __init lzma_rep_match(struct xz_dec_lzma2 *s, uint32_t pos_state) > } > > /* LZMA decoder core */ > -static bool_t __init lzma_main(struct xz_dec_lzma2 *s) > +static bool __init lzma_main(struct xz_dec_lzma2 *s) > { > uint32_t pos_state; > > @@ -814,7 +814,7 @@ static void __init lzma_reset(struct xz_dec_lzma2 *s) > * from the decoded lp and pb values. On success, the LZMA decoder state is > * reset and true is returned. > */ > -static bool_t __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props) > +static bool __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props) > { > if (props > (4 * 5 + 4) * 9 + 8) > return false; > @@ -861,7 +861,7 @@ static bool_t __init lzma_props(struct xz_dec_lzma2 *s, uint8_t props) > * function. We decode a few bytes from the temporary buffer so that we can > * continue decoding from the caller-supplied input buffer again. > */ > -static bool_t __init lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b) > +static bool __init lzma2_lzma(struct xz_dec_lzma2 *s, struct xz_buf *b) > { > size_t in_avail; > uint32_t tmp; > diff --git a/xen/common/xz/dec_stream.c b/xen/common/xz/dec_stream.c > index b91d8362c19c..caea4f2596a1 100644 > --- a/xen/common/xz/dec_stream.c > +++ b/xen/common/xz/dec_stream.c > @@ -55,7 +55,7 @@ struct xz_dec { > * True if the next call to xz_dec_run() is allowed to return > * XZ_BUF_ERROR. > */ > - bool_t allow_buf_error; > + bool allow_buf_error; > > /* Information stored in Block Header */ > struct { > @@ -132,7 +132,7 @@ struct xz_dec { > > #ifdef XZ_DEC_BCJ > struct xz_dec_bcj *bcj; > - bool_t bcj_active; > + bool bcj_active; > #endif > }; > > @@ -154,7 +154,7 @@ static const uint8_t check_sizes[16] = { > * to copy into s->temp.buf. Return true once s->temp.pos has reached > * s->temp.size. > */ > -static bool_t __init fill_temp(struct xz_dec *s, struct xz_buf *b) > +static bool __init fill_temp(struct xz_dec *s, struct xz_buf *b) > { > size_t copy_size = min_t(size_t, > b->in_size - b->in_pos, s->temp.size - s->temp.pos); > @@ -367,7 +367,7 @@ static enum xz_ret __init crc32_validate(struct xz_dec *s, struct xz_buf *b) > * Skip over the Check field when the Check ID is not supported. > * Returns true once the whole Check field has been skipped over. > */ > -static bool_t __init check_skip(struct xz_dec *s, struct xz_buf *b) > +static bool __init check_skip(struct xz_dec *s, struct xz_buf *b) > { > while (s->pos < check_sizes[s->check_type]) { > if (b->in_pos == b->in_size) > diff --git a/xen/common/xz/lzma2.h b/xen/common/xz/lzma2.h > index e0ef42e880a0..06a7edb4d720 100644 > --- a/xen/common/xz/lzma2.h > +++ b/xen/common/xz/lzma2.h > @@ -90,7 +90,7 @@ static inline void __init lzma_state_short_rep(enum lzma_state *state) > } > > /* Test if the previous symbol was a literal. */ > -static inline bool_t __init lzma_state_is_literal(enum lzma_state state) > +static inline bool __init lzma_state_is_literal(enum lzma_state state) > { > return state < LIT_STATES; > } > diff --git a/xen/common/xz/private.h b/xen/common/xz/private.h > index 511343fcc234..e6814250e84f 100644 > --- a/xen/common/xz/private.h > +++ b/xen/common/xz/private.h > @@ -237,7 +237,7 @@ XZ_EXTERN void xz_dec_lzma2_end(struct xz_dec_lzma2 *s); > * Allocate memory for BCJ decoders. xz_dec_bcj_reset() must be used before > * calling xz_dec_bcj_run(). > */ > -XZ_EXTERN struct xz_dec_bcj *xz_dec_bcj_create(bool_t single_call); > +XZ_EXTERN struct xz_dec_bcj *xz_dec_bcj_create(bool single_call); > > /* > * Decode the Filter ID of a BCJ filter. This implementation doesn't > -- > 2.30.2 >
© 2016 - 2024 Red Hat, Inc.