All of lore.kernel.org
 help / color / mirror / Atom feed
* /proc/timer_list and weird behavior with dropbear
@ 2013-07-19 15:28 Holger Hans Peter Freyther
  2013-07-19 15:45 ` Nathan Zimmer
  0 siblings, 1 reply; 11+ messages in thread
From: Holger Hans Peter Freyther @ 2013-07-19 15:28 UTC (permalink / raw)
  To: Nathan Zimmer; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

Dear Nathan,

I am currently upgrading a kernel for a TI Davinci DM644x based design
from Linux 3.2 to Linux 3.10.1. I have a funny re-producible issue that
goes away by reverting b3956a896ea57f25cacd74708b8fab611543a81d.

The dropbear sshd will open several files after accepting a connection to
generate some entropy. The "/proc/timer_list" file is part of that[1].
It will open that file and will try to read until the end of the file, but
most of the time this end never comes. According to strace the read on the
fd will always return 2048. I have attached the testcase I am using to
re-produce the issue.

Can this be re-produced by anyone else?

holger



[1] https://secure.ucc.asn.au/hg/dropbear/file/028fa77f952f/random.c#l204


[-- Attachment #2: proc_test.c --]
[-- Type: text/x-csrc, Size: 722 bytes --]

#include <sys/stat.h>
#include <fcntl.h>

       #include <stdio.h>
       #include <stdlib.h>
       #include <sys/time.h>
       #include <sys/types.h>
       #include <unistd.h>


int main(int argc, char **argv)
{
	fd_set rfds;
	struct timeval tv;
	char buf[2048];

	int fd = open("/proc/timer_list", O_RDONLY, O_NONBLOCK);
	if (fd < 0) {
		perror("Failed to open");
		abort();
	}

	FD_ZERO(&rfds);
	FD_SET(fd, &rfds);


	while (1) {
		tv.tv_sec = 2;
		tv.tv_usec = 0;

		int retval = select(fd + 1, &rfds, NULL, NULL, &tv);
		if (retval == -1)
			perror("select()");
		else if (retval) {
			int ret = read(fd, buf, sizeof(buf));
			if (ret == 0)
				return EXIT_SUCCESS;
		} else {
			printf("TIMEOUT...\n");
		}
	}
}

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-07-24 14:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-19 15:28 /proc/timer_list and weird behavior with dropbear Holger Hans Peter Freyther
2013-07-19 15:45 ` Nathan Zimmer
2013-07-19 17:03   ` Holger Hans Peter Freyther
2013-07-19 19:05     ` Nathan Zimmer
2013-07-19 20:33     ` Nathan Zimmer
2013-07-19 20:37       ` Nathan Zimmer
2013-07-20  5:43         ` Holger Hans Peter Freyther
2013-07-22 21:18           ` [PATCH] timer_list: Correct the show function for timer_list by using iter->now Nathan Zimmer
2013-07-23  7:18             ` Holger Hans Peter Freyther
2013-07-23 22:50               ` Nathan Zimmer
2013-07-24 14:31               ` [PATCH] timer_list: Correct the iterator for timer_list Nathan Zimmer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.