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

Commit 5d32c88f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (Andrew's patch-bomb)

Merge batch of fixes from Andrew Morton:
 "The simple_open() cleanup was held back while I wanted for laggards to
  merge things.

  I still need to send a few checkpoint/restore patches.  I've been
  wobbly about merging them because I'm wobbly about the overall
  prospects for success of the project.  But after speaking with Pavel
  at the LSF conference, it sounds like they're further toward
  completion than I feared - apparently davem is at the "has stopped
  complaining" stage regarding the net changes.  So I need to go back
  and re-review those patchs and their (lengthy) discussion."

* emailed from Andrew Morton <akpm@linux-foundation.org>: (16 patches)
  memcg swap: use mem_cgroup_uncharge_swap fix
  backlight: add driver for DA9052/53 PMIC v1
  C6X: use set_current_blocked() and block_sigmask()
  MAINTAINERS: add entry for sparse checker
  MAINTAINERS: fix REMOTEPROC F: typo
  alpha: use set_current_blocked() and block_sigmask()
  simple_open: automatically convert to simple_open()
  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
  libfs: add simple_open()
  hugetlbfs: remove unregister_filesystem() when initializing module
  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
  fs/xattr.c:setxattr(): improve handling of allocation failures
  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
  sysrq: use SEND_SIG_FORCED instead of force_sig()
  proc: fix mount -t proc -o AAA
parents 43f63c87 dac23b0d
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -5637,7 +5637,7 @@ M: Ohad Ben-Cohen <ohad@wizery.com>
S:	Maintained
F:	drivers/remoteproc/
F:	Documentation/remoteproc.txt
F:	include/linux/remoteproc.txt
F:	include/linux/remoteproc.h

RFKILL
M:	Johannes Berg <johannes@sipsolutions.net>
@@ -6287,6 +6287,15 @@ F: drivers/tty/serial/sunsu.c
F:	drivers/tty/serial/sunzilog.c
F:	drivers/tty/serial/sunzilog.h

SPARSE CHECKER
M:	"Christopher Li" <sparse@chrisli.org>
L:	linux-sparse@vger.kernel.org
W:	https://sparse.wiki.kernel.org/
T:	git git://git.kernel.org/pub/scm/devel/sparse/sparse.git
T:	git git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git
S:	Maintained
F:	include/linux/compiler.h

SPEAR PLATFORM SUPPORT
M:	Viresh Kumar <viresh.kumar@st.com>
L:	spear-devel@list.st.com
+10 −21
Original line number Diff line number Diff line
@@ -120,12 +120,13 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
 */
SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask)
{
	mask &= _BLOCKABLE;
	spin_lock_irq(&current->sighand->siglock);
	sigset_t blocked;

	current->saved_sigmask = current->blocked;
	siginitset(&current->blocked, mask);
	recalc_sigpending();
	spin_unlock_irq(&current->sighand->siglock);

	mask &= _BLOCKABLE;
	siginitset(&blocked, mask);
	set_current_blocked(&blocked);

	current->state = TASK_INTERRUPTIBLE;
	schedule();
@@ -238,10 +239,7 @@ do_sigreturn(struct sigcontext __user *sc, struct pt_regs *regs,
		goto give_sigsegv;

	sigdelsetmask(&set, ~_BLOCKABLE);
	spin_lock_irq(&current->sighand->siglock);
	current->blocked = set;
	recalc_sigpending();
	spin_unlock_irq(&current->sighand->siglock);
	set_current_blocked(&set);

	if (restore_sigcontext(sc, regs, sw))
		goto give_sigsegv;
@@ -276,10 +274,7 @@ do_rt_sigreturn(struct rt_sigframe __user *frame, struct pt_regs *regs,
		goto give_sigsegv;

	sigdelsetmask(&set, ~_BLOCKABLE);
	spin_lock_irq(&current->sighand->siglock);
	current->blocked = set;
	recalc_sigpending();
	spin_unlock_irq(&current->sighand->siglock);
	set_current_blocked(&set);

	if (restore_sigcontext(&frame->uc.uc_mcontext, regs, sw))
		goto give_sigsegv;
@@ -501,14 +496,8 @@ handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info,
	else
		ret = setup_frame(sig, ka, oldset, regs, sw);

	if (ret == 0) {
		spin_lock_irq(&current->sighand->siglock);
		sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
		if (!(ka->sa.sa_flags & SA_NODEFER)) 
			sigaddset(&current->blocked,sig);
		recalc_sigpending();
		spin_unlock_irq(&current->sighand->siglock);
	}
	if (ret == 0)
		block_sigmask(ka, sig);

	return ret;
}
+1 −7
Original line number Diff line number Diff line
@@ -203,15 +203,9 @@ static ssize_t debug_read(struct file *file, char __user *buf,
	return simple_read_from_buffer(buf, count, ppos, debug_buffer, bsize);
}

static int debug_open(struct inode *inode, struct file *file)
{
	file->private_data = inode->i_private;
	return 0;
}

static const struct file_operations debug_ops = {
	.read = debug_read,
	.open = debug_open,
	.open = simple_open,
	.llseek = default_llseek,
};

+3 −13
Original line number Diff line number Diff line
@@ -85,10 +85,7 @@ asmlinkage int do_rt_sigreturn(struct pt_regs *regs)
		goto badframe;

	sigdelsetmask(&set, ~_BLOCKABLE);
	spin_lock_irq(&current->sighand->siglock);
	current->blocked = set;
	recalc_sigpending();
	spin_unlock_irq(&current->sighand->siglock);
	set_current_blocked(&set);

	if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
		goto badframe;
@@ -279,15 +276,8 @@ static int handle_signal(int sig,

	/* Set up the stack frame */
	ret = setup_rt_frame(sig, ka, info, oldset, regs);
	if (ret == 0) {
		spin_lock_irq(&current->sighand->siglock);
		sigorsets(&current->blocked, &current->blocked,
			  &ka->sa.sa_mask);
		if (!(ka->sa.sa_flags & SA_NODEFER))
			sigaddset(&current->blocked, sig);
		recalc_sigpending();
		spin_unlock_irq(&current->sighand->siglock);
	}
	if (ret == 0)
		block_sigmask(ka, sig);

	return ret;
}
+1 −8
Original line number Diff line number Diff line
@@ -68,16 +68,9 @@ static ssize_t setup_data_read(struct file *file, char __user *user_buf,
	return count;
}

static int setup_data_open(struct inode *inode, struct file *file)
{
	file->private_data = inode->i_private;

	return 0;
}

static const struct file_operations fops_setup_data = {
	.read		= setup_data_read,
	.open		= setup_data_open,
	.open		= simple_open,
	.llseek		= default_llseek,
};

Loading