Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab3b3fd3 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

Merge branch 'master' into upstream-fixes

parents b71426eb e3f2ddea
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -258,3 +258,19 @@ Why: These drivers never compiled since they were added to the kernel
Who:	Jean Delvare <khali@linux-fr.org>

---------------------------

What:	Bridge netfilter deferred IPv4/IPv6 output hook calling
When:	January 2007
Why:	The deferred output hooks are a layering violation causing unusual
	and broken behaviour on bridge devices. Examples of things they
	break include QoS classifation using the MARK or CLASSIFY targets,
	the IPsec policy match and connection tracking with VLANs on a
	bridge. Their only use is to enable bridge output port filtering
	within iptables with the physdev match, which can also be done by
	combining iptables and ebtables using netfilter marks. Until it
	will get removed the hook deferral is disabled by default and is
	only enabled when needed.

Who:	Patrick McHardy <kaber@trash.net>

---------------------------
+7 −0
Original line number Diff line number Diff line
@@ -238,6 +238,13 @@ Debugging
  pagefaulttrace Dump all page faults. Only useful for extreme debugging
		and will create a lot of output.

  call_trace=[old|both|newfallback|new]
		old: use old inexact backtracer
		new: use new exact dwarf2 unwinder
 		both: print entries from both
		newfallback: use new unwinder but fall back to old if it gets
			stuck (default)

Misc

  noreplacement  Don't replace instructions with more appropriate ones
+2 −2
Original line number Diff line number Diff line
@@ -690,8 +690,8 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas
	/*
	 * Now maybe handle debug registers and/or IO bitmaps
	 */
	if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW))
	    || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))
	if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
	    || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)))
		__switch_to_xtra(next_p, tss);

	disable_tsc(prev_p, next_p);
+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ unsigned long profile_pc(struct pt_regs *regs)
{
	unsigned long pc = instruction_pointer(regs);

	if (in_lock_functions(pc))
	if (!user_mode_vm(regs) && in_lock_functions(pc))
		return *(unsigned long *)(regs->ebp + 4);

	return pc;
+14 −3
Original line number Diff line number Diff line
@@ -187,10 +187,21 @@ static void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
			if (unwind_init_blocked(&info, task) == 0)
				unw_ret = show_trace_unwind(&info, log_lvl);
		}
		if (unw_ret > 0) {
			if (call_trace > 0)
		if (unw_ret > 0 && !arch_unw_user_mode(&info)) {
#ifdef CONFIG_STACK_UNWIND
			print_symbol("DWARF2 unwinder stuck at %s\n",
				     UNW_PC(info.regs));
			if (call_trace == 1) {
				printk("Leftover inexact backtrace:\n");
				if (UNW_SP(info.regs))
					stack = (void *)UNW_SP(info.regs);
			} else if (call_trace > 1)
				return;
			printk("%sLegacy call trace:\n", log_lvl);
			else
				printk("Full inexact backtrace again:\n");
#else
			printk("Inexact backtrace:\n");
#endif
		}
	}

Loading