History

Fix up over-eager 'wait_queue_t' renaming

Commit ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t") had scripted the renaming incorrectly, and didn't actually check that the 'wait_queue_t' was a full token. As a result, it also triggered on 'wait_queue_token', and renamed that to 'wait_queue_entry_token' entry in the autofs4 packet structure definition too. That was entirely incorrect, and not intended. The end result built fine when building just the kernel - because everything had been renamed consistently there - but caused problems in user space because the "struct autofs_packet_missing" type is exported as part of the uapi. This scripts it all back again: git grep -lw wait_queue_entry_token | xargs sed -i 's/wait_queue_entry_token/wait_queue_token/g' and checks the end result.

Linus Torvalds committed 9 years ago

Commit 7cee9381 parent 9eb78885 files · +20 −20Browse files

Showing the changes to include/uapi/linux (2 of 5 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/auto_fs.h +2 −2
  2. include/uapi/linux/auto_fs4.h +2 −2
include/uapi/linux/auto_fs.h+2−2
@@ -26,7 +26,7 @@ · 25 unmodified lines
26#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION26#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
27 27
28/*28/*
29 * The wait_queue_entry_token (autofs_wqt_t) is part of a structure which is passed29 * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
30 * back to the kernel via ioctl from userspace. On architectures where 32- and30 * back to the kernel via ioctl from userspace. On architectures where 32- and
31 * 64-bit userspace binaries can be executed it's important that the size of31 * 64-bit userspace binaries can be executed it's important that the size of
32 * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we32 * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
@@ -49,7 +49,7 @@ struct autofs_packet_hdr { · 16 unmodified lines
49 49
50struct autofs_packet_missing {50struct autofs_packet_missing {
51 struct autofs_packet_hdr hdr;51 struct autofs_packet_hdr hdr;
52 autofs_wqt_t wait_queue_entry_token;52 autofs_wqt_t wait_queue_token;
53 int len;53 int len;
54 char name[NAME_MAX+1];54 char name[NAME_MAX+1];
55}; 55};
include/uapi/linux/auto_fs4.h+2−2
@@ -108,7 +108,7 @@ enum autofs_notify { · 107 unmodified lines
108/* v4 multi expire (via pipe) */108/* v4 multi expire (via pipe) */
109struct autofs_packet_expire_multi {109struct autofs_packet_expire_multi {
110 struct autofs_packet_hdr hdr;110 struct autofs_packet_hdr hdr;
111 autofs_wqt_t wait_queue_entry_token;111 autofs_wqt_t wait_queue_token;
112 int len;112 int len;
113 char name[NAME_MAX+1];113 char name[NAME_MAX+1];
114};114};
@@ -123,7 +123,7 @@ union autofs_packet_union { · 8 unmodified lines
123/* autofs v5 common packet struct */123/* autofs v5 common packet struct */
124struct autofs_v5_packet {124struct autofs_v5_packet {
125 struct autofs_packet_hdr hdr;125 struct autofs_packet_hdr hdr;
126 autofs_wqt_t wait_queue_entry_token;126 autofs_wqt_t wait_queue_token;
127 __u32 dev;127 __u32 dev;
128 __u64 ino;128 __u64 ino;
129 __u32 uid;129 __u32 uid;