Bug#769844: linux: please make linux build reproducibly
Source: linux
Version: 3.16.7-2
Severity: wishlist
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps randomness
Control: block -1 by 759886
Hi!
I have been doing some experimentation on making linux build
reproducibly [1]. With the attached patches, we are down to three binary
packages with differences on amd64. The kernel itself and its module can
be built reproducibly with our current framework.
The first patch adds call to `dh_strip_nondeterminism` and
`dh_fixmtimes`, both being part of the custom toolchain currently used
for reproducible builds. Hence not tagging the bug with “patch” until
they are integrated in debhelper.
The second patch changes the value of KBUILD_BUILD_TIMESTAMP to a
timestamp parseable by `date`. Otherwise, a timestamp of the current
time gets stored in usr/initramfs_data.cpio.gz because
`scripts/gen_initramfs_list.sh` will not pass the value of
KBUILD_BUILD_TIMESTAMP to `usr/gen_init_cpio`.
http://sources.debian.net/src/linux/3.16.7-2/scripts/gen_initramfs_list.sh/?hl302:308#L302
Another solution would be to patch `scripts/gen_initramfs_list.sh` to
parse the Debian format of KBUILD_BUILD_TIMESTAMP.
An unclear aspect is where to add a call to `dh_genbuildinfo` which
generates the .buildinfo [2]. It should be called after all binary
packages have been created.
For the remaining differences:
* linux-doc: many variations due to ids generated in HTML documentation
by XSLT processor. This needs to be addressed at that level.
* linux-manual: see attached debbindiff output. I don't have good
ideas.
* linux-source: mtimes of many files differ. Would it be ok to just
create the tarball with a single timestamp (`tar --mtime=`)?
[1]: https://wiki.debian.org/ReproducibleBuilds
[2]: https://wiki.debian.org/ReproducibleBuilds/BuildinfoSpecification
--
Lunar .''`.
lunar@debian.org : :Ⓐ : # apt-get install anarchism
`. `'`
`-
--- linux-3.16.7/debian/rules.real 2014-11-04 04:41:34.000000000 +0000
+++ b1/linux-3.16.7/debian/rules.real 2014-11-14 22:07:20.272662604 +0000
@@ -173,12 +173,14 @@
dh_installdocs $(INSTALLDOCS_ARGS)
dh_installchangelogs
dh_strip
+ dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol -- $(GENCONTROL_ARGS)
dh_md5sums
+ dh_fixmtimes
dh_builddeb -- -Zxz $(BUILDDEB_ARGS)
install-dummy:
dh_testdir
@@ -427,8 +430,10 @@
dh_prep
kernel-wedge install-files $(ABINAME)
kernel-wedge check $(PACKAGE_NAMES)
+ dh_strip_nondeterminism
dh_fixperms
dh_gencontrol
+ dh_fixmtimes
dh_builddeb
install-source: PACKAGE_NAME = linux-source-$(VERSION)
--- linux-3.16.7/debian/rules.real 2014-11-04 04:41:34.000000000 +0000
+++ b1/linux-3.16.7/debian/rules.real 2014-11-14 22:07:20.272662604 +0000
@@ -39,7 +39,7 @@
stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
-setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(DISTRIBUTOR) $(SOURCEVERSION) ($(SOURCE_DATE_UTC_ISO))" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
+setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(SOURCE_DATE_UTC_ISO)" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
MAKE_CLEAN = $(setup_env) $(MAKE)
MAKE_SELF := $(MAKE) -f debian/rules.real $(MAKEOVERRIDES)
Title: /usr/bin/debbindiff --debug --html debbindiff-manual.html b1/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb b2/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb
linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb
data.tar.xz
data.tar
kthread_create_on_node.9.gz
kthread_create_on_node.9
1 +-- 63 lines: '\" t-------------------------------------------------------------
64 This helper function creates and names a kernel thread\&. The thread will be stopped: use
65 \fBwake_up_process\fR
66 to start it\&. See also
67 \fBkthread_run\fR\&.
68 .PP
69 If thread is going to be bound on a particular cpu, give its node in
70 \fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run
71 \fIthreadfn\fR() with
72 \fIdata\fR
73 as its argument\&.
74 \fIthreadfn\fR() can either call
75 \fBdo_exit\fR
76 directly if it is a standalone thread for which no one will call
77 \fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
78 \fBkthread_stop\fR
79 has been called)\&. The return value should be zero or a negative error number; it will be passed to
80 \fBkthread_stop\fR\&.
81 +-- 4 lines: .PP---------------------------------------------------------------
|
1 +-- 63 lines: '\" t-------------------------------------------------------------
64 This helper function creates and names a kernel thread\&. The thread will be stopped: use
65 \fBwake_up_process\fR
66 to start it\&. See also
67 \fBkthread_run\fR\&.
68 .PP
69 If thread is going to be bound on a particular cpu, give its node in
70 \fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run @\fBthreadfn\fR
71 with
72 \fIdata\fR
73 as its argument\&. @\fBthreadfn\fR
74 can either call
75 \fBdo_exit\fR
76 directly if it is a standalone thread for which no one will call
77 \fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
78 \fBkthread_stop\fR
79 has been called)\&. The return value should be zero or a negative error number; it will be passed to
80 \fBkthread_stop\fR\&.
81 +-- 4 lines: .PP---------------------------------------------------------------
|
schedule_hrtimeout_range.9.gz
schedule_hrtimeout_range.9
1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
54 \fBset_current_state\fR)\&.
55 .PP
56 The
57 \fIdelta\fR
58 argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for "\fIexpires\fR+\fIdelta\fR", but may decide to fire the timer earlier, but no earlier than
-----------------------------------------------------------------------------
59 \fIexpires\fR\&.
60 .PP
61 You can set the task state as follows \-
62 .PP
63 \fBTASK_UNINTERRUPTIBLE\fR
64 \- at least
65 +-- 11 lines: \fItimeout\fR-----------------------------------------------------
|
1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
54 \fBset_current_state\fR)\&.
55 .PP
56 The
57 \fIdelta\fR
58 argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for
59 \(lq\fIexpires\fR+\fIdelta\fR\(rq, but may decide to fire the timer earlier, but no earlier than
60 \fIexpires\fR\&.
61 .PP
62 You can set the task state as follows \-
63 .PP
64 \fBTASK_UNINTERRUPTIBLE\fR
65 \- at least
66 +-- 11 lines: \fItimeout\fR-----------------------------------------------------
|
struct_bus_type.9.gz
struct_bus_type.9
1 +-- 60 lines: '\" t-------------------------------------------------------------
61 .RS 4
62 The name of the bus\&.
63 .RE
64 .PP
65 dev_name
66 .RS 4
67 Used for subsystems to enumerate devices like (\(lqfoo\fBu\fR\(rq, dev\->id)\&.
68 .RE
69 .PP
70 dev_root
71 .RS 4
72 Default device to use as the parent\&.
73 .RE
74 +-- 92 lines: .PP---------------------------------------------------------------
|
1 +-- 60 lines: '\" t-------------------------------------------------------------
61 .RS 4
62 The name of the bus\&.
63 .RE
64 .PP
65 dev_name
66 .RS 4
67 Used for subsystems to enumerate devices like ("foo\fBu\fR", dev\->id)\&.
68 .RE
69 .PP
70 dev_root
71 .RS 4
72 Default device to use as the parent\&.
73 .RE
74 +-- 92 lines: .PP---------------------------------------------------------------
|
struct_usb_composite_driver.9.gz
struct_usb_composite_driver.9
1 +-- 73 lines: '\" t-------------------------------------------------------------
74 .RS 4
75 set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
76 .RE
77 .PP
78 bind
79 .RS 4
80 (REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using @\fBusb_add_config\fR\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.
----------------------------------------------------------------------------
81 .RE
82 .PP
83 unbind
84 .RS 4
85 Reverses
86 \fIbind\fR; called as a side effect of unregistering this driver\&.
87 +-- 40 lines: .RE---------------------------------------------------------------
|
1 +-- 73 lines: '\" t-------------------------------------------------------------
74 .RS 4
75 set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
76 .RE
77 .PP
78 bind
79 .RS 4
80 (REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using
81 \fIusb_add_config\fR()\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.
82 .RE
83 .PP
84 unbind
85 .RS 4
86 Reverses
87 \fIbind\fR; called as a side effect of unregistering this driver\&.
88 +-- 40 lines: .RE---------------------------------------------------------------
|
struct_usb_configuration.9.gz
struct_usb_configuration.9
1 +-- 50 lines: '\" t-------------------------------------------------------------
51 .RS 4
52 For diagnostics, describes the configuration\&.
53 .RE
54 .PP
55 strings
56 .RS 4
57 Tables of strings, keyed by identifiers assigned during @\fBbind\fR
58 and by language IDs provided in control requests\&.
59 .RE
60 .PP
61 descriptors
62 .RS 4
63 Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
64 .RE
65 +-- 28 lines: .PP---------------------------------------------------------------
93 .RS 4
94 Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
95 .RE
96 .PP
97 cdev
98 .RS 4
99 assigned by @\fBusb_add_config\fR
100 before calling @\fBbind\fR; this is the device associated with this configuration\&.
----------------------------------------------------------------------------
101 .RE
102 .SH "DESCRIPTION"
103 .PP
104 Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
105 .PP
106 Composite devices are, by definition, ones with configurations which include more than one function\&.
107 .PP
108 The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling @\fBusb_add_config\fR
109 to set up internal data and bind it to a specific device\&. The configuration\*(Aqs @\fBbind\fR
110 method is then used to initialize all the functions and then call @\fBusb_add_function\fR
111 for them\&.
112 .PP
113 Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
114 \fBbind\fR
115 routine\&.
116 .SH "AUTHOR"
117 .PP
118 +-- 6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------
|
1 +-- 50 lines: '\" t-------------------------------------------------------------
51 .RS 4
52 For diagnostics, describes the configuration\&.
53 .RE
54 .PP
55 strings
56 .RS 4
57 Tables of strings, keyed by identifiers assigned during
58 \fIbind\fR() and by language IDs provided in control requests\&.
59 .RE
60 .PP
61 descriptors
62 .RS 4
63 Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
64 .RE
65 +-- 28 lines: .PP---------------------------------------------------------------
93 .RS 4
94 Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
95 .RE
96 .PP
97 cdev
98 .RS 4
99 assigned by
100 \fIusb_add_config\fR() before calling
101 \fIbind\fR(); this is the device associated with this configuration\&.
102 .RE
103 .SH "DESCRIPTION"
104 .PP
105 Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
106 .PP
107 Composite devices are, by definition, ones with configurations which include more than one function\&.
108 .PP
109 The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling
110 \fIusb_add_config\fR() to set up internal data and bind it to a specific device\&. The configuration\*(Aqs
111 \fIbind\fR() method is then used to initialize all the functions and then call
112 \fIusb_add_function\fR() for them\&.
113 .PP
114 Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
115 \fBbind\fR
116 routine\&.
117 .SH "AUTHOR"
118 .PP
119 +-- 6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------
|
struct_usb_function.9.gz
struct_usb_function.9
1 +-- 67 lines: '\" t-------------------------------------------------------------
68 \fBbind\fR
69 and by language IDs provided in control requests
70 .RE
71 .PP
72 fs_descriptors
73 .RS 4
74 Table of full (or low) speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.
----------------------------------------------------------------------------
75 .RE
76 .PP
77 hs_descriptors
78 .RS 4
79 Table of high speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null, the function will not be available at high speed\&.
----------------------------------------------------------------------------
80 .RE
81 .PP
82 ss_descriptors
83 .RS 4
84 Table of super speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null after initiation, the function will not be available at super speed\&.
----------------------------------------------------------------------------
85 .RE
86 .PP
87 config
88 .RS 4
89 assigned when @\fBusb_add_function\fR
90 is called; this is the configuration with which this function is associated\&.
91 .RE
92 .PP
93 os_desc_table
94 .RS 4
95 Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
96 .RE
97 +-- 66 lines: .PP---------------------------------------------------------------
163 func_suspend
164 .RS 4
165 callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
166 .RE
167 .SH "DESCRIPTION"
168 .PP
169 A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by @\fBusb_add_function\fR
170 with a one configuration; that function causes @\fBbind\fR
171 to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using @\fBusb_ep_autoconfig\fR\&.
----------------------------------------------------------------------------
172 .PP
173 To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
174 .PP
175 Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
176 .PP
177 A more complex strategy might encapsulate a
178 +-- 10 lines: \fIusb_function\fR------------------------------------------------
|
1 +-- 67 lines: '\" t-------------------------------------------------------------
68 \fBbind\fR
69 and by language IDs provided in control requests
70 .RE
71 .PP
72 fs_descriptors
73 .RS 4
74 Table of full (or low) speed descriptors, using interface and string identifiers assigned during
75 \fIbind\fR()\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.
76 .RE
77 .PP
78 hs_descriptors
79 .RS 4
80 Table of high speed descriptors, using interface and string identifiers assigned during
81 \fIbind\fR()\&. If this pointer is null, the function will not be available at high speed\&.
82 .RE
83 .PP
84 ss_descriptors
85 .RS 4
86 Table of super speed descriptors, using interface and string identifiers assigned during
87 \fIbind\fR()\&. If this pointer is null after initiation, the function will not be available at super speed\&.
88 .RE
89 .PP
90 config
91 .RS 4
92 assigned when
93 \fIusb_add_function\fR() is called; this is the configuration with which this function is associated\&.
94 .RE
95 .PP
96 os_desc_table
97 .RS 4
98 Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
99 .RE
100 +-- 66 lines: .PP---------------------------------------------------------------
166 func_suspend
167 .RS 4
168 callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
169 .RE
170 .SH "DESCRIPTION"
171 .PP
172 A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by
173 \fIusb_add_function\fR() with a one configuration; that function causes
174 \fIbind\fR() to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using
175 \fIusb_ep_autoconfig\fR()\&.
176 .PP
177 To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
178 .PP
179 Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
180 .PP
181 A more complex strategy might encapsulate a
182 +-- 10 lines: \fIusb_function\fR------------------------------------------------
|
usb_add_config.9.gz
usb_add_config.9
1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .RE
51 .SH "CONTEXT"
52 .PP
53 single threaded during gadget setup
54 .SH "DESCRIPTION"
55 .PP
56 One of the main tasks of a composite
57 \fIbind\fR() routine is to add each of the configurations it supports, using this routine\&.
58 .PP
59 This function returns the value of the configuration\*(Aqs
60 \fIbind\fR(), which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.
61 .SH "AUTHOR"
62 .PP
63 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
64 .RS 4
65 Author.
66 .RE
67 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .RE
51 .SH "CONTEXT"
52 .PP
53 single threaded during gadget setup
54 .SH "DESCRIPTION"
55 .PP
56 One of the main tasks of a composite @\fBbind\fR
57 routine is to add each of the configurations it supports, using this routine\&.
58 .PP
59 This function returns the value of the configuration\*(Aqs @\fBbind\fR, which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.
-----------------------------------------------------------------------------
60 .SH "AUTHOR"
61 .PP
62 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
63 .RS 4
64 Author.
65 .RE
66 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
usb_add_function.9.gz
usb_add_function.9
1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its
52 \fIbind\fR() method to allocate resources such as interface and string identifiers and endpoints\&.
53 .PP
54 This function returns the value of the function\*(Aqs
55 \fBbind\fR, which is zero for success else a negative errno value\&.
56 .SH "AUTHOR"
57 .PP
58 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
59 +-- 5 lines: .RS 4-------------------------------------------------------------
|
1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its @\fBbind\fR
52 method to allocate resources such as interface and string identifiers and endpoints\&.
53 .PP
54 This function returns the value of the function\*(Aqs
55 \fBbind\fR, which is zero for success else a negative errno value\&.
56 .SH "AUTHOR"
57 .PP
58 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
59 +-- 5 lines: .RS 4-------------------------------------------------------------
|
usb_function_deactivate.9.gz
usb_function_deactivate.9
1 +-- 36 lines: '\" t-------------------------------------------------------------
37 \fIfunction\fR
38 .RS 4
39 the function that isn\*(Aqt yet ready to respond
40 .RE
41 .SH "DESCRIPTION"
42 .PP
43 Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during
44 \fIbind\fR() processing to change from the initial
45 \(lqready to respond\(rq
46 state, or when a required resource becomes available\&.
47 .PP
48 For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
49 .PP
50 Not all systems support software control of their USB peripheral data pullups\&.
51 +-- 10 lines: .PP---------------------------------------------------------------
|
1 +-- 36 lines: '\" t-------------------------------------------------------------
37 \fIfunction\fR
38 .RS 4
39 the function that isn\*(Aqt yet ready to respond
40 .RE
41 .SH "DESCRIPTION"
42 .PP
43 Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during @\fBbind\fR
44 processing to change from the initial
45 \(lqready to respond\(rq
46 state, or when a required resource becomes available\&.
47 .PP
48 For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
49 .PP
50 Not all systems support software control of their USB peripheral data pullups\&.
51 +-- 10 lines: .PP---------------------------------------------------------------
|
usb_gadget_probe_driver.9.gz
usb_gadget_probe_driver.9
1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 can sleep
44 .SH "DESCRIPTION"
45 .PP
46 Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The @\fBbind\fR
47 function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the @\fBbind\fR
48 function will be in init sections\&.
49 .SH "AUTHOR"
50 .PP
51 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
52 .RS 4
53 Author.
54 .RE
55 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 can sleep
44 .SH "DESCRIPTION"
45 .PP
46 Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The
47 \fIbind\fR() function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the
48 \fIbind\fR() function will be in init sections\&.
49 .SH "AUTHOR"
50 .PP
51 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
52 .RS 4
53 Author.
54 .RE
55 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
usb_string_id.9.gz
usb_string_id.9
1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 single threaded during gadget setup
44 .SH "DESCRIPTION"
45 .PP
46 \fIusb_string_id\fR() is called from
-----------------------------------------------------------------------------
47 \fBbind\fR
48 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
49 .PP
50 All string identifier should be allocated using this,
51 \fIusb_string_ids_tab\fR() or
52 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
53 .SH "AUTHOR"
54 .PP
55 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
56 .RS 4
57 Author.
58 .RE
59 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 single threaded during gadget setup
44 .SH "DESCRIPTION"
45 .PP
46 @\fBusb_string_id\fR
47 is called from
48 \fBbind\fR
49 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
50 .PP
51 All string identifier should be allocated using this, @\fBusb_string_ids_tab\fR
52 or @\fBusb_string_ids_n\fR
53 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
54 .SH "AUTHOR"
55 .PP
56 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
57 .RS 4
58 Author.
59 .RE
60 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
usb_string_ids_n.9.gz
usb_string_ids_n.9
1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .PP
51 Returns the first requested ID\&. This ID and next
52 \fIn\fR\-1 IDs are now valid IDs\&. At least provided that
53 \fIn\fR
54 is non\-zero because if it is, returns last requested ID which is now very useful information\&.
55 .PP
56 \fIusb_string_ids_n\fR() is called from
-----------------------------------------------------------------------------
57 \fBbind\fR
58 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
59 .PP
60 All string identifier should be allocated using this,
61 \fIusb_string_id\fR() or
62 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
63 .SH "AUTHOR"
64 .PP
65 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
66 .RS 4
67 Author.
68 .RE
69 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .PP
51 Returns the first requested ID\&. This ID and next
52 \fIn\fR\-1 IDs are now valid IDs\&. At least provided that
53 \fIn\fR
54 is non\-zero because if it is, returns last requested ID which is now very useful information\&.
55 .PP
56 @\fBusb_string_ids_n\fR
57 is called from
58 \fBbind\fR
59 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
60 .PP
61 All string identifier should be allocated using this, @\fBusb_string_id\fR
62 or @\fBusb_string_ids_n\fR
63 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
64 .SH "AUTHOR"
65 .PP
66 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
67 .RS 4
68 Author.
69 .RE
70 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
usb_string_ids_tab.9.gz
usb_string_ids_tab.9
1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 \fIusb_string_ids\fR() is called from
-----------------------------------------------------------------------------
52 \fBbind\fR
53 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
54 .PP
55 All string identifier should be allocated using this,
56 \fIusb_string_id\fR() or
57 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
58 .SH "AUTHOR"
59 .PP
60 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
61 .RS 4
62 Author.
63 .RE
64 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 @\fBusb_string_ids\fR
52 is called from
53 \fBbind\fR
54 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
55 .PP
56 All string identifier should be allocated using this, @\fBusb_string_id\fR
57 or @\fBusb_string_ids_n\fR
58 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
59 .SH "AUTHOR"
60 .PP
61 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
62 .RS 4
63 Author.
64 .RE
65 +-- 2 lines: .SH "COPYRIGHT"---------------------------------------------------
|
vm_insert_page.9.gz
vm_insert_page.9
1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
54 .PP
55 The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
56 \fBsplit_page\fR)\&.
57 .PP
58 NOTE! Traditionally this was done with "\fBremap_pfn_range\fR" which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
59 .PP
60 The page does not need to be reserved\&.
61 .PP
62 Usually this function is called from f_op\->\fBmmap\fR
63 handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
64 .SH "COPYRIGHT"
65 .br
|
1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
54 .PP
55 The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
56 \fBsplit_page\fR)\&.
57 .PP
58 NOTE! Traditionally this was done with
59 \(lq\fBremap_pfn_range\fR\(rq
60 which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!
61 .PP
62 The page does not need to be reserved\&.
63 .PP
64 Usually this function is called from f_op\->\fBmmap\fR
65 handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
66 .SH "COPYRIGHT"
67 .br
|
metadata
1 +--2905 lines: -rwxr-xr-x root/root 0 2014-11-11 16:33:16 ./-----------
2906 -rw-r--r-- root/root 702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
2907 -rw-r--r-- root/root 997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
2908 -rw-r--r-- root/root 993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
2909 -rw-r--r-- root/root 916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
2910 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
2911 -rw-r--r-- root/root 964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
2912 -rw-r--r-- root/root 1135 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz
2913 -rw-r--r-- root/root 1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
2914 -rw-r--r-- root/root 837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
2915 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
2916 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
2917 -rw-r--r-- root/root 714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
2918 -rw-r--r-- root/root 884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
2919 +--500 lines: -rw-r--r-- root/root 951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz
3419 -rw-r--r-- root/root 662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
3420 -rw-r--r-- root/root 819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
3421 -rw-r--r-- root/root 687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
3422 -rw-r--r-- root/root 659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
3423 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
3424 -rw-r--r-- root/root 983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
3425 -rw-r--r-- root/root 1728 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz
3426 -rw-r--r-- root/root 798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
3427 -rw-r--r-- root/root 809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
3428 -rw-r--r-- root/root 867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
3429 -rw-r--r-- root/root 1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
3430 -rw-r--r-- root/root 823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
3431 -rw-r--r-- root/root 930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
3432 +--166 lines: -rw-r--r-- root/root 1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz
3598 -rw-r--r-- root/root 1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
3599 -rw-r--r-- root/root 1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
3600 -rw-r--r-- root/root 2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
3601 -rw-r--r-- root/root 1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
3602 -rw-r--r-- root/root 2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
3603 -rw-r--r-- root/root 1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
3604 -rw-r--r-- root/root 2349 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz
3605 -rw-r--r-- root/root 1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
3606 -rw-r--r-- root/root 2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
3607 -rw-r--r-- root/root 771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
3608 -rw-r--r-- root/root 1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
3609 -rw-r--r-- root/root 1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
3610 -rw-r--r-- root/root 2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
3611 +--185 lines: -rw-r--r-- root/root 981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz
3796 -rw-r--r-- root/root 709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
3797 -rw-r--r-- root/root 652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
3798 -rw-r--r-- root/root 699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
3799 -rw-r--r-- root/root 827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
3800 -rw-r--r-- root/root 801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
3801 -rw-r--r-- root/root 723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
3802 -rw-r--r-- root/root 974 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz
3803 -rw-r--r-- root/root 912 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz
3804 -rw-r--r-- root/root 837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
3805 -rw-r--r-- root/root 1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
3806 -rw-r--r-- root/root 945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
3807 -rw-r--r-- root/root 941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
3808 -rw-r--r-- root/root 1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
3809 -rw-r--r-- root/root 663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
3810 +-- 54 lines: -rw-r--r-- root/root 711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz
3864 -rw-r--r-- root/root 806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
3865 -rw-r--r-- root/root 832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
3866 -rw-r--r-- root/root 679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
3867 -rw-r--r-- root/root 892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
3868 -rw-r--r-- root/root 799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
3869 -rw-r--r-- root/root 809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
3870 -rw-r--r-- root/root 1033 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz
3871 -rw-r--r-- root/root 826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
3872 -rw-r--r-- root/root 1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
3873 -rw-r--r-- root/root 866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
3874 -rw-r--r-- root/root 970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
3875 -rw-r--r-- root/root 771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
3876 -rw-r--r-- root/root 1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
3877 +-- 54 lines: -rw-r--r-- root/root 847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz
3931 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
3932 -rw-r--r-- root/root 1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
3933 -rw-r--r-- root/root 1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
3934 -rw-r--r-- root/root 753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
3935 -rw-r--r-- root/root 744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
3936 -rw-r--r-- root/root 991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
3937 -rw-r--r-- root/root 940 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz
3938 -rw-r--r-- root/root 1074 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz
3939 -rw-r--r-- root/root 1003 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz
3940 -rw-r--r-- root/root 3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
3941 -rw-r--r-- root/root 670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
3942 -rw-r--r-- root/root 828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
3943 -rw-r--r-- root/root 2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
3944 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
3945 -rw-r--r-- root/root 688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
3946 +-- 9 lines: -rw-r--r-- root/root 691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz
3955 -rw-r--r-- root/root 753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
3956 -rw-r--r-- root/root 1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
3957 -rw-r--r-- root/root 1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
3958 -rw-r--r-- root/root 761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
3959 -rw-r--r-- root/root 942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
3960 -rw-r--r-- root/root 867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
3961 -rw-r--r-- root/root 1196 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz
3962 -rw-r--r-- root/root 933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
3963 -rw-r--r-- root/root 897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
3964 -rw-r--r-- root/root 1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
3965 -rw-r--r-- root/root 930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
3966 -rw-r--r-- root/root 705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
3967 -rw-r--r-- root/root 747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
3968 +--172 lines: -rw-r--r-- root/root 731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz
|
1 +--2905 lines: -rwxr-xr-x root/root 0 2014-11-11 16:33:16 ./-----------
2906 -rw-r--r-- root/root 702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
2907 -rw-r--r-- root/root 997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
2908 -rw-r--r-- root/root 993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
2909 -rw-r--r-- root/root 916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
2910 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
2911 -rw-r--r-- root/root 964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
2912 -rw-r--r-- root/root 1141 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz
2913 -rw-r--r-- root/root 1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
2914 -rw-r--r-- root/root 837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
2915 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
2916 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
2917 -rw-r--r-- root/root 714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
2918 -rw-r--r-- root/root 884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
2919 +--500 lines: -rw-r--r-- root/root 951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz
3419 -rw-r--r-- root/root 662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
3420 -rw-r--r-- root/root 819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
3421 -rw-r--r-- root/root 687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
3422 -rw-r--r-- root/root 659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
3423 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
3424 -rw-r--r-- root/root 983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
3425 -rw-r--r-- root/root 1725 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz
3426 -rw-r--r-- root/root 798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
3427 -rw-r--r-- root/root 809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
3428 -rw-r--r-- root/root 867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
3429 -rw-r--r-- root/root 1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
3430 -rw-r--r-- root/root 823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
3431 -rw-r--r-- root/root 930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
3432 +--166 lines: -rw-r--r-- root/root 1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz
3598 -rw-r--r-- root/root 1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
3599 -rw-r--r-- root/root 1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
3600 -rw-r--r-- root/root 2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
3601 -rw-r--r-- root/root 1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
3602 -rw-r--r-- root/root 2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
3603 -rw-r--r-- root/root 1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
3604 -rw-r--r-- root/root 2345 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz
3605 -rw-r--r-- root/root 1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
3606 -rw-r--r-- root/root 2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
3607 -rw-r--r-- root/root 771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
3608 -rw-r--r-- root/root 1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
3609 -rw-r--r-- root/root 1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
3610 -rw-r--r-- root/root 2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
3611 +--185 lines: -rw-r--r-- root/root 981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz
3796 -rw-r--r-- root/root 709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
3797 -rw-r--r-- root/root 652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
3798 -rw-r--r-- root/root 699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
3799 -rw-r--r-- root/root 827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
3800 -rw-r--r-- root/root 801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
3801 -rw-r--r-- root/root 723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
3802 -rw-r--r-- root/root 976 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz
3803 -rw-r--r-- root/root 911 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz
3804 -rw-r--r-- root/root 837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
3805 -rw-r--r-- root/root 1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
3806 -rw-r--r-- root/root 945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
3807 -rw-r--r-- root/root 941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
3808 -rw-r--r-- root/root 1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
3809 -rw-r--r-- root/root 663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
3810 +-- 54 lines: -rw-r--r-- root/root 711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz
3864 -rw-r--r-- root/root 806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
3865 -rw-r--r-- root/root 832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
3866 -rw-r--r-- root/root 679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
3867 -rw-r--r-- root/root 892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
3868 -rw-r--r-- root/root 799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
3869 -rw-r--r-- root/root 809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
3870 -rw-r--r-- root/root 1031 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz
3871 -rw-r--r-- root/root 826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
3872 -rw-r--r-- root/root 1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
3873 -rw-r--r-- root/root 866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
3874 -rw-r--r-- root/root 970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
3875 -rw-r--r-- root/root 771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
3876 -rw-r--r-- root/root 1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
3877 +-- 54 lines: -rw-r--r-- root/root 847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz
3931 -rw-r--r-- root/root 770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
3932 -rw-r--r-- root/root 1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
3933 -rw-r--r-- root/root 1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
3934 -rw-r--r-- root/root 753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
3935 -rw-r--r-- root/root 744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
3936 -rw-r--r-- root/root 991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
3937 -rw-r--r-- root/root 941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz
3938 -rw-r--r-- root/root 1075 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz
3939 -rw-r--r-- root/root 1004 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz
3940 -rw-r--r-- root/root 3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
3941 -rw-r--r-- root/root 670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
3942 -rw-r--r-- root/root 828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
3943 -rw-r--r-- root/root 2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
3944 -rw-r--r-- root/root 716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
3945 -rw-r--r-- root/root 688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
3946 +-- 9 lines: -rw-r--r-- root/root 691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz
3955 -rw-r--r-- root/root 753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
3956 -rw-r--r-- root/root 1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
3957 -rw-r--r-- root/root 1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
3958 -rw-r--r-- root/root 761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
3959 -rw-r--r-- root/root 942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
3960 -rw-r--r-- root/root 867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
3961 -rw-r--r-- root/root 1202 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz
3962 -rw-r--r-- root/root 933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
3963 -rw-r--r-- root/root 897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
3964 -rw-r--r-- root/root 1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
3965 -rw-r--r-- root/root 930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
3966 -rw-r--r-- root/root 705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
3967 -rw-r--r-- root/root 747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
3968 +--172 lines: -rw-r--r-- root/root 731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz
|
metadata
1 rw-r--r-- 0/0 4 Nov 11 16:33 2014 debian-binary
2 rw-r--r-- 0/0 126241 Nov 11 16:33 2014 control.tar.gz
3 rw-r--r-- 0/0 3464268 Nov 11 16:33 2014 data.tar.xz
|
1 rw-r--r-- 0/0 4 Nov 11 16:33 2014 debian-binary
2 rw-r--r-- 0/0 126263 Nov 11 16:33 2014 control.tar.gz
3 rw-r--r-- 0/0 3464264 Nov 11 16:33 2014 data.tar.xz
|
Attachment:
signature.asc
Description: Digital signature
Reply to: