On Mon, 2021-10-18 at 16:27 +0300, Jarkko Sakkinen wrote: > On Mon, 2021-10-18 at 09:05 -0400, James Bottomley wrote: > > On Sat, 2021-10-09 at 21:08 +0800, Tianjia Zhang wrote: > > [...] > > > diff --git a/include/uapi/linux/hash_info.h > > > b/include/uapi/linux/hash_info.h > > > index 74a8609fcb4d..1355525dd4aa 100644 > > > --- a/include/uapi/linux/hash_info.h > > > +++ b/include/uapi/linux/hash_info.h > > > @@ -32,7 +32,7 @@ enum hash_algo { > > > HASH_ALGO_TGR_128, > > > HASH_ALGO_TGR_160, > > > HASH_ALGO_TGR_192, > > > - HASH_ALGO_SM3_256, > > > + HASH_ALGO_SM3, > > > HASH_ALGO_STREEBOG_256, > > > HASH_ALGO_STREEBOG_512, > > > HASH_ALGO__LAST > > > > This is another one you can't do: all headers in UAPI are exports > > to userspace and the definitions constitute an ABI. If you simply > > do a rename, every userspace program that uses the current > > definition will immediately break on compile. You could add > > HASH_ALGO_SM3, but you can't remove HASH_ALGO_SM3_256 > > > > James > > So: shouldn't then also the old symbol continue to work also > semantically? Yes, that's the point: you can add a new definition ... in this case an alias for the old one, but you can't remove a definition that's been previously exported. James