Displaying 20 results from an estimated 64 matches for "ud2a".
2015 Nov 03
1
[RFC PATCH] x86/paravirt: Kill some unused patching functions
...ernel/paravirt.c b/arch/x86/kernel/paravirt.c
index c2130aef3f9d..4f32a10979db 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -74,16 +74,6 @@ void __init default_banner(void)
/* Undefined instruction for dealing with missing ops pointers. */
static const unsigned char ud2a[] = { 0x0f, 0x0b };
-unsigned paravirt_patch_nop(void)
-{
- return 0;
-}
-
-unsigned paravirt_patch_ignore(unsigned len)
-{
- return len;
-}
-
struct branch {
unsigned char opcode;
u32 delta;
@@ -152,8 +142,7 @@ unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf,
/* If t...
2015 Nov 03
1
[RFC PATCH] x86/paravirt: Kill some unused patching functions
...ernel/paravirt.c b/arch/x86/kernel/paravirt.c
index c2130aef3f9d..4f32a10979db 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -74,16 +74,6 @@ void __init default_banner(void)
/* Undefined instruction for dealing with missing ops pointers. */
static const unsigned char ud2a[] = { 0x0f, 0x0b };
-unsigned paravirt_patch_nop(void)
-{
- return 0;
-}
-
-unsigned paravirt_patch_ignore(unsigned len)
-{
- return len;
-}
-
struct branch {
unsigned char opcode;
u32 delta;
@@ -152,8 +142,7 @@ unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf,
/* If t...
2019 Sep 10
1
[bug report] x86/paravirt: Use a single ops structure
...ld do
something like:
if (type >= sizeof(pv_ops) / sizeof(void *))
return -EINVAL;
opfunc = *((void **)&pv_ops + type);
124 unsigned ret;
125
126 if (opfunc == NULL)
127 /* If there's no function, patch it with a ud2a (BUG) */
128 ret = paravirt_patch_insns(insn_buff, len, ud2a, ud2a+sizeof(ud2a));
129 else if (opfunc == _paravirt_nop)
130 ret = 0;
131
regards,
dan carpenter
2015 Jan 21
5
[LLVMdev] Shared libraries, msan and -z,defs
> What about creating an msan interface DSO for the purposes of satisfying -z
> defs? The executable will always be searched first, so the interface DSO
> could be empty or full of ud2a.
I like the idea. The ideal solution would probably be for the linkers
to have a --not-needed command line option that prevents the .so from
going in the DT_NEEDED, but one with just stubs is probably fine.
Cheers,
Rafael
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks,
With this series, the bulk of the work of pvops64 is done.
Here, I integrate most of the paravirt.c and paravirt.h files, making
them applicable to both architectures.
CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page
table integration (patches currently being worked on by Jeremy).
Enjoy
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks,
With this series, the bulk of the work of pvops64 is done.
Here, I integrate most of the paravirt.c and paravirt.h files, making
them applicable to both architectures.
CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page
table integration (patches currently being worked on by Jeremy).
Enjoy
2002 Jun 05
1
Anybody seeing this OOPS
...the kernels I use have the kdb patch installed.
1
kmem_cache_alloc (offset 0x125)
get_unused_buffer_head
journal_write_metadata_buffer
journal_commit_transaction
kjournald
kernel_thread
kmem_cache_alloc dis
xchg %eax, (%ebx)
cmp $0x5a2cf071, %eax (where did a value like that come from?)
je ....
ud2a - (looks like assembly for BUG())
One more thing I have seen is a problem with the following code
do {
new_bh = get_unused_buffer_head(0);
if (!new_bh) {
printk (KERN_NOTICE __FUNCTION__
": ENOMEM...
2007 Apr 19
1
[RFC, PATCH 5/5] Paravirt_ops export.patch
...and can therefore be freely
* converted back into a structure offset.
+ *
+ * For modules, generate a bogus BUG, which leaves enough space for
+ * the patch to a direct call to be made and eliminates the need to
+ * export paravirt_ops to modules.
*/
+#ifdef MODULE
+#define PARAVIRT_CALL "ud2a; nop; nop; nop;"
+#else
#define PARAVIRT_CALL "call *(paravirt_ops+%c[paravirt_typenum]*4);"
+#endif
/*
* These macros are intended to wrap calls into a paravirt_ops
2007 Apr 19
1
[RFC, PATCH 5/5] Paravirt_ops export.patch
...and can therefore be freely
* converted back into a structure offset.
+ *
+ * For modules, generate a bogus BUG, which leaves enough space for
+ * the patch to a direct call to be made and eliminates the need to
+ * export paravirt_ops to modules.
*/
+#ifdef MODULE
+#define PARAVIRT_CALL "ud2a; nop; nop; nop;"
+#else
#define PARAVIRT_CALL "call *(paravirt_ops+%c[paravirt_typenum]*4);"
+#endif
/*
* These macros are intended to wrap calls into a paravirt_ops
2001 May 31
1
oops ext3 in journal_write_metadata_buffer
...mit_timeout+0/10>
Trace; c0108c2f <kernel_thread+1f/38>
Trace; c0108c38 <kernel_thread+28/38>
Code; c014ca15 <journal_write_metadata_buffer+4d/1d8>
00000000 <_EIP>:
Code; c014ca15 <journal_write_metadata_buffer+4d/1d8> <=====
0: 0f 0b ud2a <=====
Code; c014ca17 <journal_write_metadata_buffer+4f/1d8>
2: 83 c4 10 add $0x10,%esp
Code; c014ca1a <journal_write_metadata_buffer+52/1d8>
5: 89 f6 mov %esi,%esi
Code; c014ca1c <journal_write_metadata_buffer+54/1d8>...
2015 Jan 21
2
[LLVMdev] Shared libraries, msan and -z,defs
I recently tried to enabled building llvm libraries with -Wl,-z,defs.
The intention was to detect missing dependencies on ELF, so that we
don't
get into a situation where a .so builds, but the equivalent .dylib or
.dll fails.
This failed when building with msan because of undefined references to
functions like __msan_memcpy.
Unfortunately, I don't think elf linkers have a way of
2011 Jun 17
3
[LLVMdev] LLVM-based address sanity checker
...ore code, it also creates prologue/epilogue in otherwise leaf
functions.
Such mode may still be useful if for whatever reason we can not use SIGILL.
Default (use ud2):
402ed5: 48 89 d8 mov %rbx,%rax << move the
address to rax
402ed8: 0f 0b ud2a << crash
402eda: 52 push %rdx << encode is_write
and size in the opcode
(note: with a good disassembler and some work we can leave just ud2 or
equivalent)
-mllvm -asan-use-call
402ed5: 48 89 df mov %rbx,%rdi &...
2002 Mar 27
1
assertion in journal_start
...e_read_actor+0/e0>
Trace; c01366e6 <filp_open+36/60>
Trace; c0136a34 <sys_open+34/c0>
Trace; c0106ffb <system_call+33/38>
Code; c0165908 <journal_start+58/d0>
00000000 <_EIP>:
Code; c0165908 <journal_start+58/d0> <=====
0: 0f 0b ud2a <=====
Code; c016590a <journal_start+5a/d0>
2: 83 c4 14 add $0x14,%esp
Code; c016590d <journal_start+5d/d0>
5: ff 43 08 incl 0x8(%ebx)
Code; c0165910 <journal_start+60/d0>
8: eb 65 jmp 6f <_...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
...ATIVE(irq_enable_sysexit, "sti; sysexit");
-DEF_NATIVE(read_cr2, "mov %cr2, %eax");
-DEF_NATIVE(write_cr3, "mov %eax, %cr3");
-DEF_NATIVE(read_cr3, "mov %cr3, %eax");
-DEF_NATIVE(clts, "clts");
-DEF_NATIVE(read_tsc, "rdtsc");
-
-DEF_NATIVE(ud2a, "ud2a");
+#define DEF_NATIVE(ops, name, code) \
+ extern const char start_##ops##_##name[], end_##ops##_##name[]; \
+ asm("start_" #ops "_" #name ": " code "; end_" #ops "_" #name ":")
+
+DEF_NATIVE(pv_irq_ops, irq_disable,...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
...ATIVE(irq_enable_sysexit, "sti; sysexit");
-DEF_NATIVE(read_cr2, "mov %cr2, %eax");
-DEF_NATIVE(write_cr3, "mov %eax, %cr3");
-DEF_NATIVE(read_cr3, "mov %cr3, %eax");
-DEF_NATIVE(clts, "clts");
-DEF_NATIVE(read_tsc, "rdtsc");
-
-DEF_NATIVE(ud2a, "ud2a");
+#define DEF_NATIVE(ops, name, code) \
+ extern const char start_##ops##_##name[], end_##ops##_##name[]; \
+ asm("start_" #ops "_" #name ": " code "; end_" #ops "_" #name ":")
+
+DEF_NATIVE(pv_irq_ops, irq_disable,...
2011 Jun 21
0
[LLVMdev] LLVM-based address sanity checker
...ogue in otherwise leaf
> functions.
> Such mode may still be useful if for whatever reason we can not use
> SIGILL.
>
> Default (use ud2):
> 402ed5: 48 89 d8 mov %rbx,%rax << move the
> address to rax
> 402ed8: 0f 0b ud2a << crash
> 402eda: 52 push %rdx << encode
> is_write and size in the opcode
> (note: with a good disassembler and some work we can leave just ud2 or
> equivalent)
>
> -mllvm -asan-use-call
> 402ed5: 48 89 df...
2004 Mar 03
0
consistent crash with data=journal
...mmit_timeout+0/10>
Trace; c01072ee <arch_kernel_thread+2e/40>
Trace; c0176a10 <kjournald+0/1e0>
Code; c0174064 <journal_commit_transaction+924/11c0>
00000000 <_EIP>:
Code; c0174064 <journal_commit_transaction+924/11c0> <=====
0: 0f 0b ud2a <=====
Code; c0174066 <journal_commit_transaction+926/11c0>
2: f7 02 aa ff 29 c0 testl $0xc029ffaa,(%edx)
Code; c017406c <journal_commit_transaction+92c/11c0>
8: e9 1b fe ff ff jmp fffffe28 <_EIP+0xfffffe28>
Code; c0174071 <journal_co...
2002 May 28
1
2.4.18rc2aa2 oops
...kjournald+140/1d8>
Trace; c01700d0 <commit_timeout+0/c>
Trace; c010560f <kernel_thread+23/30>
Code; c0170396 <journal_write_metadata_buffer+6a/2cc>
00000000 <_EIP>:
Code; c0170396 <journal_write_metadata_buffer+6a/2cc> <=====
0: 0f 0b ud2a <=====
Code; c0170398 <journal_write_metadata_buffer+6c/2cc>
2: 83 c4 08 add $0x8,%esp
Code; c017039b <journal_write_metadata_buffer+6f/2cc>
5: 90 nop
Code; c017039c <journal_write_metadata_buffer+70/2cc>
6:...
2001 Jun 04
1
Ooops output
...e9 <END_OF_CODE+100088b1/????>
Trace; ffff0018 <END_OF_CODE+2f780de0/????>
Trace; c01056dc <kernel_thread+28/38>
Code; c015822a <ext3_prepare_write+5e/1f4>
00000000 <_EIP>:
Code; c015822a <ext3_prepare_write+5e/1f4> <=====
0: 0f 0b ud2a <=====
Code; c015822c <ext3_prepare_write+60/1f4>
2: 83 c4 0c add $0xc,%esp
Code; c015822f <ext3_prepare_write+63/1f4>
5: 90 nop
Code; c0158230 <ext3_prepare_write+64/1f4>
6: 56 push...
2015 Jan 22
2
[LLVMdev] Shared libraries, msan and -z,defs
...t 8:46 PM, Rafael EspĂndola
> <rafael.espindola at gmail.com> wrote:
> >> What about creating an msan interface DSO for the purposes of
> satisfying -z
> >> defs? The executable will always be searched first, so the interface DSO
> >> could be empty or full of ud2a.
> >
> > I like the idea. The ideal solution would probably be for the linkers
> > to have a --not-needed command line option that prevents the .so from
> > going in the DT_NEEDED, but one with just stubs is probably fine.
>
> But then the program would fail to start i...