Merge tag 'v3.10.76' into update
authorStricted <info@stricted.net>
Wed, 21 Mar 2018 21:42:30 +0000 (22:42 +0100)
committerStricted <info@stricted.net>
Wed, 21 Mar 2018 21:42:30 +0000 (22:42 +0100)
This is the 3.10.76 stable release

14 files changed:
1  2 
Makefile
drivers/tty/serial/8250/8250_dw.c
fs/debugfs/inode.c
include/linux/mm.h
kernel/cgroup.c
kernel/trace/trace.c
kernel/trace/trace_events.c
mm/ksm.c
mm/memory.c
net/ipv4/tcp_input.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_output.c
net/ipv6/ndisc.c
net/ipv6/tcp_ipv6.c

diff --cc Makefile
Simple merge
index 196c26b038579f8123148137840e8f407b1761a9,86281fa5dcc327424e3ca9a3115e8032874c6147..9f3666c233b328951fbffc3d72105cce94627025
@@@ -113,11 -116,26 +116,26 @@@ static void dw8250_serial_out32(struct 
  {
        struct dw8250_data *d = p->private_data;
  
 -      if (offset == UART_MCR)
 -              d->last_mcr = value;
 +      if (offset == UART_LCR)
 +              d->last_lcr = value;
  
-       offset <<= p->regshift;
-       writel(value, p->membase + offset);
+       writel(value, p->membase + (offset << p->regshift));
+       /* Make sure LCR write wasn't ignored */
+       if (offset == UART_LCR) {
+               int tries = 1000;
+               while (tries--) {
+                       unsigned int lcr = p->serial_in(p, UART_LCR);
+                       if ((value & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR))
+                               return;
+                       dw8250_force_idle(p);
+                       writel(value, p->membase + (UART_LCR << p->regshift));
+               }
+               /*
+                * FIXME: this deadlocks if port->lock is already held
+                * dev_err(p->dev, "Couldn't set LCR to %d\n", value);
+                */
+       }
  }
  
  static unsigned int dw8250_serial_in32(struct uart_port *p, int offset)
Simple merge
Simple merge
diff --cc kernel/cgroup.c
Simple merge
Simple merge
Simple merge
diff --cc mm/ksm.c
Simple merge
diff --cc mm/memory.c
index bb12c446be8345a5febdd3c6174cd8d763e0f84b,e6b1da3a8924c54ee547cac496c78e2e6f93d0e4..9feed4bfb32366d3356ba6dcc6390c748655ca75
@@@ -3264,13 -3230,9 +3265,13 @@@ static int do_anonymous_page(struct mm_
  
        pte_unmap(page_table);
  
 +      /* File mapping without ->vm_ops ? */
 +      if (vma->vm_flags & VM_SHARED)
 +              return VM_FAULT_SIGBUS;
 +
        /* Check if we need to add a guard page to the stack */
        if (check_stack_guard_page(vma, address) < 0)
-               return VM_FAULT_SIGBUS;
+               return VM_FAULT_SIGSEGV;
  
        /* Use the zero-page for reads */
        if (!(flags & FAULT_FLAG_WRITE)) {
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge