Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/dis: use correct escape sequence for '%' character

The double escape character sequence introduced with commit
272fa59ccb4f ("s390/dis: Fix handling of format specifiers") is not
necessary anymore since commit 561e10300269 ("s390/dis: Fix printing
of the register numbers").

Instead this now generates an extra '%' character:

lg %%r1,160(%%r11)

So fix this and basically revert 272fa59ccb4f.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Heiko Carstens and committed by
Martin Schwidefsky
ee8479bb 443a8133

+5 -12
+5 -12
arch/s390/kernel/dis.c
··· 1920 1920 } 1921 1921 if (separator) 1922 1922 ptr += sprintf(ptr, "%c", separator); 1923 - /* 1924 - * Use four '%' characters below because of the 1925 - * following two conversions: 1926 - * 1927 - * 1) sprintf: %%%%r -> %%r 1928 - * 2) printk : %%r -> %r 1929 - */ 1930 1923 if (operand->flags & OPERAND_GPR) 1931 - ptr += sprintf(ptr, "%%%%r%i", value); 1924 + ptr += sprintf(ptr, "%%r%i", value); 1932 1925 else if (operand->flags & OPERAND_FPR) 1933 - ptr += sprintf(ptr, "%%%%f%i", value); 1926 + ptr += sprintf(ptr, "%%f%i", value); 1934 1927 else if (operand->flags & OPERAND_AR) 1935 - ptr += sprintf(ptr, "%%%%a%i", value); 1928 + ptr += sprintf(ptr, "%%a%i", value); 1936 1929 else if (operand->flags & OPERAND_CR) 1937 - ptr += sprintf(ptr, "%%%%c%i", value); 1930 + ptr += sprintf(ptr, "%%c%i", value); 1938 1931 else if (operand->flags & OPERAND_VR) 1939 - ptr += sprintf(ptr, "%%%%v%i", value); 1932 + ptr += sprintf(ptr, "%%v%i", value); 1940 1933 else if (operand->flags & OPERAND_PCREL) 1941 1934 ptr += sprintf(ptr, "%lx", (signed int) value 1942 1935 + addr);